我正在用scrap。
我正在使用的网站具有无限滚动。
该网站上有大量帖子,但我只抓取了13。
如何scrape 其余的帖子?
这是我的代码:
class exampleSpider(scrapy.Spider): name = "example" #from_date = datetime.date.today() - datetime.timedelta(6*365/12) allowed_domains = ["example.com"] start_urls = [ "http://www.example.com/somethinghere/" ] def parse(self, response): for href in response.xpath("//*[@id='page-wrap']/div/div/div/section[2]/div/div/div/div[3]/ul/li/div/h1/a/@href"): url = response.urljoin(href.extract()) yield scrapy.Request(url, callback=self.parse_dir_contents) def parse_dir_contents(self, response): #scrape contents code here
我使用Selenium而不是,scrapy但是你必须能够执行等效操作,而我要做的是在加载文件时运行一些JavaScript,即:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
而且我一直坚持下去,直到它不再滚动为止。它不是很漂亮,不能在生产中使用,但是对特定工作有效。