我正在尝试抓取页面JobStreet
我可以抓取主页上的信息但我的问题出现在我尝试抓取网页的内部链接时,例如首次发布here
这是我的代码片段:
import scrapy
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy import Item, Field
class IT(scrapy.Spider):
name = 'IT'
allowed_domains = ["www.jobstreet.com.sg"]
start_urls = [
'https://www.jobstreet.com.sg/en/job-search/job-vacancy.php?key=&specialization=191%2C192%2C193&area=&salary=&ojs=3&src=12',
]
rules = (
Rule(SgmlLinkExtractor(allow=[r'/en/job/*.'], restrict_xpaths=('//*[(@class = "position-title-link")]',)), callback='parse_info', follow=True)
)
def parse_info(self, response):
self.logger.info('response.url=%s' % response.url)
无法从parse_info获得任何类型的响应。
答案 0 :(得分:3)
您可以更改
scrapy.Spider
到
CrawlSpider
答案 1 :(得分:0)
你改变了
scrapy.Spider
到
CrawlSpider
但是有时候你在第一个规则使用回调时它不起作用。 你可以使用它。
def parse_start_url(self, response):
list(self.parse_info(response))