我没有特定的代码问题我只是不确定如何使用Scrapy框架在逻辑上处理以下问题:
我想要抓取的数据结构通常是每个项目的表格行.直截了当,对吧?
最终,我想要删除每一行的标题,截止日期和详细信息. 标题和截止日期可立即在页面上找到...
但是细节本身不在表格中 - 而是指向包含细节的页面的链接(如果这里没有意义,那么这是一个表格):
|-------------------------------------------------|
| Title | Due Date |
|-------------------------------------------------|
| Job Title (Clickable Link) | 1/1/2012 |
| Other Job (Link) | 3/2/2012 |
|--------------------------------|----------------|
Run Code Online (Sandbox Code Playgroud)
即使在阅读了Scrapy文档的CrawlSpider部分之后,我恐怕仍然不知道如何使用回调和请求在逻辑上传递项目.
我试图从子站点中抓取详细信息并与通过 site 抓取的详细信息合并。我一直在研究 stackoverflow 以及文档。但是,我仍然无法让我的代码工作。似乎我从子站点提取其他详细信息的功能不起作用。如果有人能看一下,我将不胜感激。
# -*- coding: utf-8 -*-
from scrapy.spiders import Spider
from scrapy.selector import Selector
from scrapeInfo.items import infoItem
import pyodbc
class scrapeInfo(Spider):
name = "info"
allowed_domains = ["http://www.nevermind.com"]
start_urls = []
def start_requests(self):
#Get infoID and Type from database
self.conn = pyodbc.connect('DRIVER={SQL Server};SERVER=server;DATABASE=dbname;UID=user;PWD=password')
self.cursor = self.conn.cursor()
self.cursor.execute("SELECT InfoID, category FROM dbo.StageItem")
rows = self.cursor.fetchall()
for row in rows:
url = 'http://www.nevermind.com/info/'
InfoID = row[0]
category = row[1]
yield self.make_requests_from_url(url+InfoID, InfoID, category, self.parse)
def make_requests_from_url(self, …Run Code Online (Sandbox Code Playgroud)