【发布时间】:2017-09-28 21:39:51
【问题描述】:
我想使用scrapy spider从以下网站的所有帖子中获取数据(问题标题+内容和答案):
问题是我只是不知道如何使它首先跟随帖子的链接,然后抓取所有 15 个帖子/站点的数据。
{导入scrapy
类 ArticleSpider(scrapy.Spider): 名称=“帖子” start_urls = ['https://forums.att.com/t5/Data-Messaging-Features-Internet/Throttling-for-unlimited-data/m-p/4805201#M73235']
def parse(self, response):
SET_SELECTOR = 'body'
for post in response.css(SET_SELECTOR):
# Selector for title, content and answer
TITLE_SELECTOR = '.lia-message-subject h5 ::text'
CONTENT_SELECTOR = '.lia-message-body-content'
ANSWER_SELECTOR = '.lia-message-body-content'
yield {
# [0].extract() = extract_first()
'Qtitle': post.css(TITLE_SELECTOR)[0].extract(),
'Qcontent': post.css(CONTENT_SELECTOR)[0].extract(),
'Answer': post.css(ANSWER_SELECTOR)[1].extract(),
}
# Running through all 173 pages
NEXT_PAGE_SELECTOR = '.lia-paging-page-next a ::attr(href)'
next_page = response.css(NEXT_PAGE_SELECTOR).extract_first()
if next_page:
yield scrapy.Request(
response.urljoin(next_page),
callback=self.parse
)}
我希望你能帮助我。提前致谢!
【问题讨论】:
标签: python-3.x web-crawler scrapy-spider