赞
踩
对淘宝商品的信息进行提取,首先导入需要的模块,基本都是使用的下面的几个模块:
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
鳄鱼君Ba这里使用pyquery来解析数据,当然你也可以使用其它的解析模块。然后我么这里以女装作为演示。
KEYWORD='女装'
browser=webdriver.Chrome('驱动器路径') # 我直接放在了python.exe目录下,所以可以不写路径
wait= WebDriverWait(browser,10) # 设置超时等待时间
基本上所有的网站,都会有滑动验证码,如果你通过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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。