python登录并爬取淘宝信息代码示例


Posted in Python onDecember 09, 2017

本文主要分享关于python登录并爬取淘宝信息的相关代码,还是挺不错的,大家可以了解下。

#!/usr/bin/env python 
# -*- coding:utf-8 -*- 
from selenium import webdriver 
import time 
import datetime 
import traceback 
import logging 
import os 
from selenium.webdriver.common.action_chains import ActionChains 
import 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)

小结

有改进策略一起探讨,可以抓取淘宝部分网页内容,根据自己的需求改改吧,会被风控。个人觉得不登录的效果更好。

以上就是本文关于python 登录并爬取淘宝信息代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python搭建HTTP服务器和FTP服务器
Mar 09 Python
Python cookbook(数据结构与算法)根据字段将记录分组操作示例
Mar 19 Python
Python使用matplotlib绘制三维图形示例
Aug 25 Python
Python用5行代码写一个自定义简单二维码
Oct 21 Python
django的csrf实现过程详解
Jul 26 Python
手机使用python操作图片文件(pydroid3)过程详解
Sep 25 Python
Python字典生成式、集合生成式、生成器用法实例分析
Jan 07 Python
python 等差数列末项计算方式
May 03 Python
Python函数的迭代器与生成器的示例代码
Jun 18 Python
keras 模型参数,模型保存,中间结果输出操作
Jul 06 Python
python 5个顶级异步框架推荐
Sep 09 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
Dec 09 Python
Python实现读取txt文件并画三维图简单代码示例
Dec 09 #Python
Python排序搜索基本算法之选择排序实例分析
Dec 09 #Python
Python排序搜索基本算法之冒泡排序实例分析
Dec 09 #Python
Python排序搜索基本算法之希尔排序实例分析
Dec 09 #Python
Python爬取当当、京东、亚马逊图书信息代码实例
Dec 09 #Python
python爬取亚马逊书籍信息代码分享
Dec 09 #Python
matplotlib在python上绘制3D散点图实例详解
Dec 09 #Python
You might like
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
PHP正则验证Email的方法
2015/06/15 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
PHP实现的mysql读写分离操作示例
2018/05/22 PHP
php微信公众号开发之音乐信息
2018/10/20 PHP
Discuz不使用插件实现简单的打赏功能
2019/03/21 PHP
PHP序列化和反序列化深度剖析实例讲解
2020/12/29 PHP
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
浅谈 javascript 事件处理
2015/01/04 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
JS之if语句对接事件动作逻辑(详解)
2017/06/28 Javascript
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
Python 命令行非阻塞输入的小例子
2013/09/27 Python
Python的time模块中的常用方法整理
2015/06/18 Python
简单谈谈python中的多进程
2016/11/06 Python
Python数据分析之如何利用pandas查询数据示例代码
2017/09/01 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
在keras中model.fit_generator()和model.fit()的区别说明
2020/06/17 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
美国电视购物:QVC
2017/02/06 全球购物
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
英国国家美术馆商店:National Gallery
2019/05/01 全球购物
食品安全检查制度
2014/02/03 职场文书
彩色的非洲教学反思
2014/02/18 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
2015元旦晚会主持人开场白+结束语
2014/12/14 职场文书
MongoDB 常用的crud操作语句
2021/06/20 MongoDB