我想刮这个网站https://hamariweb.com/news/newscategory.aspx?cat=3。代码运行良好,但它只能连续地从第一页抓取数据。 这是我的密码
import scrapy
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from scrapy import Spider, Request
from scrapy import signals
from scrapy.http import HtmlResponse
import time
import os
class WebnewsSpider(scrapy.Spider):
name = 'webnews'
allowed_domains = ['www.hamariweb.com']
start_urls = ['https://hamariweb.com/news/newscategory.aspx?cat=3']
def __init__ (self):
options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
self.driver=webdriver.Chrome("C://Users//hammad//Downloads//
chromedriver",chrome_options=options)
def parse(self, response):
self.driver.get(response.url)
pause_time = 1
last_height = self.driver.execute_script("return
document.body.scrollHeight")
#start = datetime.datetime.now()
for i in range(10):
self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight + 400);")
time.sleep(pause_time)
url2=response.xpath('.//*[@class="news_img"]/a/@href').extract()
print("\n\n\n",url2,"\n\n\n")
new_height = self.driver.execute_script("return document.body.scrollHeight")
self.driver.close()
#print("\n\n",len(l))
步骤:
更多信息:
你只需做
document.querySelectorAll('#CatNewsList > div').length
结果将是职位的数量。 迭代每个帖子并提取URL:CSS选择器:
现在您可以获取标签'href'并提取链接。你知道吗
当到达最后一篇文章时,执行scroll to bottom并等待XPATH:
//p[text()='loading more news... ']
元素不可见。你知道吗像这样,你可以肯定的是,它没有加载任何新的页面。 保持以前的文章大小,并开始从它解析到下一个长度的文章。你知道吗
重复。你知道吗
相关问题 更多 >
编程相关推荐