当前位置:   article > 正文

selenium抓取淘宝商品信息实战练习 携带cookie登录_spiderflow 淘宝

spiderflow 淘宝

对淘宝商品的信息进行提取,首先导入需要的模块,基本都是使用的下面的几个模块:

from selenium import webdriver # 基本的模块
from selenium.common.exceptions import TimeoutException # 超时报错
from selenium.webdriver.common.by import By # 基本的元素查找
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait # 设置等待时间,超出时间就会触发 超时报错
from urllib.parse import quote # 将中文转码为url地址
from pyquery import PyQuery # 数据解析模块
import time,json,re

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

鳄鱼君Ba这里使用pyquery来解析数据,当然你也可以使用其它的解析模块。然后我么这里以女装作为演示。

KEYWORD='女装'
browser=webdriver.Chrome('驱动器路径') # 我直接放在了python.exe目录下,所以可以不写路径
wait= WebDriverWait(browser,10) # 设置超时等待时间
  • 1
  • 2
  • 3

基本上所有的网站,都会有滑动验证码,如果你通过selenium自动输入用户名和密码登录,它会认为你就是一个机器人,所以肯定会出现验证码。对于滑动验证,selenium也可以实现,但对于滑块验证码就比较困难,需要计算距离滑动,代码也不易理解,更好的办法就是通过Cookie,方便又简单!

获取cookie的方法很多,可以通过selenium自带的get_cookies()来获取,也可以通过requests模块,携带登录参数登录并获取到cookie,当然你也可以通过手动复制登录过后的cookie。这里复制的cookie是请求头中的Cookie,需要进行cookie替换:

str='浏览器请求头中复制的cookie  '
str.replace('"','') #替换"为空,这个没用上
str_list=str.split(';')  #通过;分割为列表list

cookie_list=[]
for item in str_list:  #通过循环取出元素
    name_value={
   }
    name_value['name']=item.split('=')[0].strip()
    name_value['value']=item.split('=')[1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/970114
推荐阅读
相关标签
  

闽ICP备14008679号