Python Scrapy无法转到下一页
我正在学习如何使用刮擦,并试图使一个爬虫刮网站链接和文本从它。我的爬虫适用于和,但不适用于现实生活中的例子,如维基百科。我无法理解是什么导致了这种情况。请帮帮我 麦可德Python Scrapy无法转到下一页,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,我正在学习如何使用刮擦,并试图使一个爬虫刮网站链接和文本从它。我的爬虫适用于和,但不适用于现实生活中的例子,如维基百科。我无法理解是什么导致了这种情况。请帮帮我 麦可德 import scrapy from scrapy.crawler import CrawlerRunner from scrapy.utils.project import get_project_settings from twisted.internet import reactor from scrapy.utils.l
import scrapy
from scrapy.crawler import CrawlerRunner
from scrapy.utils.project import get_project_settings
from twisted.internet import reactor
from scrapy.utils.log import configure_logging
class firstSpider(scrapy.Spider):
name = "htmlcrawler"
start_urls = [
'https://pypi.org/project/wikipedia/',
]
def parse(self, response):
val1=response.css("p.text::text").extract_first()
val2=response.css("span.text::text").extract_first()
val3=response.css("pre.text::text").extract_first()
text = str("" if val3 is None else val3) + str("" if val2 is None else val2)+str("" if val1 is None else val1)
NEXT_PAGE_SELECTOR = '.next a ::attr(href)'
next_page = response.css(NEXT_PAGE_SELECTOR).extract_first()
print(next_page)
if next_page:
next_page = response.urljoin(next_page)
yield{'html':next_page,'text':text}
yield scrapy.Request(next_page, callback=self.parse)
def run():
settings = get_project_settings()
settings.set('FEED_FORMAT', 'json')
settings.set('FEED_URI', 'result.json')
settings.set('Depth_Limit',60)
settings.set('DOWNLOAD_DELAY',2)
settings.set('DUPEFILTER_CLASS','scrapy.dupefilters.BaseDupeFilter')
configure_logging()
runner = CrawlerRunner(settings)
runner.crawl(firstSpider)
d = runner.join()
d.addBoth(lambda _: reactor.stop())
reactor.run()
if __name__=="__main__":
run()
我在用氢原子做燃料
编辑
我更改了dupe filter类,并尝试从对我的链接收集器进行一些更改,但它仍然不起作用。它正在爬网,但由于您正在发送对同一页面的请求而停止(
#content
)
默认情况下,Scrapy已启用 我如何改变我的代码,使其转到其他网站,我不明白为什么下一页没有其他页面的价值page@NiteyaShah没有下一页该页有您正在查找的下一页“.next a”页面中没有您正在刮取的元素@尼提亚沙