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 从远程服务器下载东西的代码
Feb 10 Python
python实现复制整个目录的方法
May 12 Python
matplotlib中legend位置调整解析
Dec 19 Python
Python实现简易Web爬虫详解
Jan 03 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
Python 中的range(),以及列表切片方法
Jul 02 Python
Python异常的检测和处理方法
Oct 26 Python
Python判断变量名是否合法的方法示例
Jan 28 Python
深度辨析Python的eval()与exec()的方法
Mar 26 Python
pandas数据处理进阶详解
Oct 11 Python
python使用正则表达式匹配txt特定字符串(有换行)
Dec 09 Python
基于Pygame实现简单的贪吃蛇游戏
Dec 06 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
多重?l件?合查?(二)
2006/10/09 PHP
打造计数器DIY三步曲(下)
2006/10/09 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
浅析js中取绝对值的2种方法
2013/07/09 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
2015/04/30 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
微信小程序 如何保持登录状态
2019/08/16 Javascript
使用vue重构资讯页面的实例代码解析
2019/11/26 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
python类定义的讲解
2013/11/01 Python
Python数据结构之Array用法实例
2014/10/09 Python
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
Tensorflow简单验证码识别应用
2017/05/25 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
复化梯形求积分实例——用Python进行数值计算
2019/11/20 Python
简单了解python列表和元组的区别
2020/05/14 Python
美国正版电视节目和电影在线观看:Hulu
2018/05/24 全球购物
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
应用心理学个人的求职信
2013/12/08 职场文书
采购主管工作职责
2013/12/12 职场文书
服装电子商务创业计划书
2014/01/30 职场文书
星级党支部申报材料
2014/05/31 职场文书
学风建设演讲稿
2014/09/12 职场文书
中学生旷课检讨书模板
2014/10/08 职场文书
python3 sqlite3限制条件查询的操作
2021/04/07 Python
HTML基础详解(上)
2021/10/16 HTML / CSS
Consul在linux环境的集群部署
2022/04/08 Servers
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers