1688信息采集
首先进入1688可以看见多种类别信息
我们选择其中的一种,例如选择女装之后,又会有很多的类别
将类别保存到列表,方便下面继续运行
detail_urls = []
categories = driver.find_elements_by_xpath("//div[@class='ch-menu-item']/div[@class='ch-menu-item-list']/ul[@class='fd-clr']/li[@class='item']/a")
for category in categories:
url = category.get_attribute('href')
detail_urls.append(url)
xpath获取所有类别的url
遍历进入,进入后数据是Ajax动态的方式加载
我们可以模拟鼠标下滑,一直加载,达到页面底部的时候退出循环
示例代码如下:
t = True
while t:
check_height = driver.execute_script("return document.body.scrollHeight;")
js = "var q=document.documentElement.scrollTop=20000" # documentElement表示获取根节点元素
driver.execute_script(js) # 执行js
time.sleep(3.0) # 加载数据不能过快,否则不能下滑
check_height1 = driver.execute_script("return document.body.scrollHeight;")
if check_height == check_height1:
t = False
然后再利用xpath获取信息
源代码