【发布时间】:2020-02-03 13:23:08
【问题描述】:
我正在使用 Scrapy 抓取一些页面。我参考了 start_urls 的 Excel 表,我希望那些 exact 起始 url 出现在结果中,而不是重定向的 url。我需要原件才能处理 Excel 查找。
问题是我似乎只能得到一个给出目标 url 的输出。
我的代码如下;
from scrapy.spiders import Spider
from scrapy.selector import Selector
from ICcom5.items import ICcom5Item
from scrapy.linkextractors import LinkExtractor
from scrapy.utils.response import get_base_url
from scrapy.spiders import CSVFeedSpider
from scrapy.http import Request
from scrapy.loader import ItemLoader
from scrapy.item import Item, Field
import requests
import csv
import sys
class MySpider(Spider):
name = "ICcom5"
start_urls = [l.strip() for l in open('items5.csv').readlines()]
def parse(self, response):
item = Item()
titles = response.xpath('//div[@class="jobsearch-JobMetadataFooter"]')
items = []
for titles in titles:
item = ICcom5Item()
home_url = ("http://www.indeed.co.uk")
item ['_pageURL'] = response.request.url
item ['description'] = ' '.join(titles.xpath('//div[@class="jobsearch-jobDescriptionText"]//text()').extract())
item ['role_title_link'] = titles.xpath('//span[@id="originalJobLinkContainer"]/a/@href').extract()
items.append(item)
return items
相当简单的代码,但我很难理解我可以从 Scrapy 文档中做什么。
我已根据建议修改了代码,但仍未从源电子表格中获取原始网址。示例网址如下;
https://www.indeed.co.uk/rc/clk?jk=a47eb72131f3d588&fccid=c7414b794cb89c1c&vjs=3
https://www.indeed.co.uk/rc/clk?jk=8c7f045caddb116d&fccid=473601b0f30a6c9c&vjs=3
https://www.indeed.co.uk/company/Agilysts-Limited/jobs/Back-End-Java-Developer-3ec6efc3ebc256c5?fccid=d1f7896a8bd9f15e&vjs=3
【问题讨论】:
标签: python scrapy export-to-csv