admin管理员组文章数量:1516870
淘宝爬虫
爬取淘宝上的数据:销量啊、价格啊、以及好评等等。
这里以selenuim为例,来介绍一下淘宝商品的爬取过程。
在此之前,需要确保selenuim和浏览器驱动chromedriver已经安装好。
淘宝页面分析
内容的输入需要自定,所需需要先找出输入框,便于输入查找操作。同理查找出搜索按钮所在标签。后面需要爬取多页的数据,这里通过解析比较不同页面的url链接,来构建新的网链接来完成翻页的功能(构建新的url可能会引发网站的反爬措施)。页面终止需要知道总页数。实现功能如下:
```python
def search():
driver.find_element_by_id('q').send_keys('python')
driver.find_element_by_class_name('btn-search').click()
# 为了避免报错,可以在这异常设置
time.sleep(10)
while 1:
start = time.process_time()
try:
token=driver.find_element_by_xpath('//div[@id="mainsrp-pager"]/div/div/div/div[1]').text
print('已定位到元素,元素为'+token)
end=time.process_time()
break
except:
print('还未定义到元素')
print('定位耗时时间'+str(end-start))
token=int(re.compile('\d+').search(token).group(0))
return token
点击搜索之后,页面不会直接弹出商品列表,弹出的是一个登陆页面,这时需要自己进行扫码登陆。(这种方法比较笨,爬取 到一半左右可能会出现滑块检测,可以选择火狐的浏览器进行解决。)
模拟鼠标的滑动,处理部分图片不显示问题,采用JS的鼠标滑动的功能来实现。
```python
def drop_down():
for x in range(1,11,2):
time.sleep(0.5)
j=x/10
js='document.documentElement.scrollTop = document.documentElement.scrollHeight * %f' % j
driver.execute_script(js)
模拟鼠标的滑动,处理部分图片不显示问题,采用JS的鼠标滑动的功能来实现,实现代码如下:
版权声明:本文标题:菜鸟进阶指南:Selenium帮你破解淘宝谜题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/biancheng/1771508089a3266316.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论