python 登录并爬取淘宝信息
来源:互联网 发布:python布尔值应用 编辑:程序博客网 时间:2024/04/29 13:25
#!/usr/bin/env python# -*- coding:utf-8 -*-from selenium import webdriverimport timeimport datetimeimport tracebackimport loggingimport osfrom selenium.webdriver.common.action_chains import ActionChainsimport codecs#登录def login(driver,site): driver.get(site) time.sleep(5) try: #点击请登录 driver.find_element_by_class_name("h").click() time.sleep(5) #输入账号和密码 driver.find_element_by_id("TPL_username_1").send_keys(u"yourusername") time.sleep(5) #print driver.find_element_by_id("TPL_username_1") driver.find_element_by_id("TPL_password_1").send_keys(u"yourpsd") time.sleep(5) #点击登录 driver.find_element_by_id("J_SubmitStatic").click() time.sleep(30) except: print u"failure"def crawlmarket(driver,filename,site): #driver = webdriver.Firefox() driver.get(site) driver.maximize_window() time.sleep(10) driver.refresh() time.sleep(10) test = driver.find_elements_by_xpath("//a[@class='J_ItemLink']") #是否获取到消息,若无则登录 if len(test)==0: login(driver,site) time.sleep(30) resultstrall="" resultstr="" strinfo ="" for i in range(0,len(test),1): if test[i].text != "" : resultstr = test[i].text.strip()+'\n' print resultstr resultstrall += resultstr #是否成功抓取 if resultstrall !="": f = codecs.open(filename,'w','utf-8') f.write(resultstrall) f.close() #若没有成功抓取将网站写入error else: strinfo = filename+","+site print strinfo ferror = codecs.open("error.txt",'a','utf-8') ferror.write(strinfo) ferror.close() driver.quit()def crawltaobaosousuo(driver,filename,site): #driver = webdriver.Firefox() driver.get(site) driver.maximize_window() time.sleep(10) driver.get(site) time.sleep(30) driver.refresh() test = driver.find_elements_by_xpath("//a[@class='J_ClickStat']") resultstrall="" resultstr="" strinfo ="" for i in range(0,len(test),1): if test[i].text != "" : resultstr = test[i].text.strip()+'\n' print resultstr resultstrall += resultstr if resultstrall !="": f = codecs.open(filename,'w','utf-8') f.write(resultstrall) f.close() else: strinfo = filename+","+site print strinfo ferror = codecs.open("error.txt",'a','utf-8') ferror.write(strinfo) ferror.close() driver.quit()def jiexi(driver): f = open("1.txt","r") for line in f: time.sleep(60) info = line.split(",") href = info[1] filename = info[0].decode("utf-8") print filename if "markets" in href: crawlmarket(driver,filename,href) else: crawltaobaosousuo(driver,filename,href)if __name__ =='__main__': driver = webdriver.Firefox() jiexi(driver)
有改进策略一起探讨,可以抓取淘宝部分网页内容,根据自己的需求改改吧,会被风控。个人觉得不登录的效果更好。
0 0
- python 登录并爬取淘宝信息
- python 爬取淘宝信息
- python模拟登录爬淘宝模特信息
- [笔记]python爬虫:淘宝商品价格信息爬取示例
- python3爬取淘宝信息
- python3爬取淘宝信息!
- python-爬取淘宝商品
- Python爬取淘宝图片
- python模拟Confluence登录并爬取内容
- 淘宝宝贝评价信息的爬取
- 使用python+selenium爬取学生信息并入库
- python爬虫爬取豆瓣书籍信息并生成表格
- paython爬取github登录页面token信息并登录github
- HttpClient 登录爬取信息
- 《python爬虫实战》:爬取淘宝上MM的信息和照片
- 使用python利器selenium工具模拟浏览器运行并爬取淘宝商品信息
- 淘宝评论爬取 python pandas
- python +selenium 爬取淘宝网商品信息
- plat_led应用程序
- 51nod1305 Pairwise Sum and Divide
- 为啥requests和urllib,urllib2,urllib3的URL编码行为存在这种差异?
- 原码、反码和补码
- calico学习(1)
- python 登录并爬取淘宝信息
- 专访邓凡平:Android开发路上的快速学习之道
- 修改Xcode工程名称,程序名称---便捷方法
- Linux 内核的文件 Cache 管理机制介绍
- Android开发---使用SharedPreferences保存数据
- 记录使用SeekBar遇到的一些错误
- 注册表写入失败,权限调整
- [opencv]鼠标画彩图(改变绘制颜色和线宽)
- 输入函数scanf,gets,getchar简单区别测试