本文主要分享关于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登录并爬取淘宝信息代码示例相关推荐

  1. python爬虫爬取58网站数据_Python爬虫,爬取58租房数据 字体反爬

    Python爬虫,爬取58租房数据 这俩天项目主管给了个爬虫任务,要爬取58同城上福州区域的租房房源信息.因为58的前端页面做了base64字体加密所以爬取比较费力,前前后后花了俩天才搞完. 项目演示 ...

  2. python在json文件中查找指定数据_Python中json的取值 如何使用python提取json中指定字段的数据...

    python中为什么用json有什么作用 如何用python读取json里面的值啊我爱你,所以我给了你伤害我的权力,只要我能忍受,我会一直陪伴着你,但你不能伤害我太多. 数据如下,我想要读取name. ...

  3. python爬虫抓取动态网页数据_python网络爬虫抓取ajax动态网页数据:以抓取KFC门店地址为例...

    一,尝试用BeautifulSoup抓取 先打开KFC网站门店列表页面:http://www.kfc.com.cn/kfccda/storelist/index.aspx 可以看到门店列表如下图: 打 ...

  4. python中的整型是什么意思_Python中整型的基本介绍(代码示例)

    本篇文章给大家带来的内容是关于Python中整型的基本介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Python中有以下几个基本的数据类型: 整数 int 字符串 ...

  5. python爬取多页数据_python爬虫实现爬取同一个网站的多页数据代码实例

    本篇文章小编给大家分享一下python爬虫实现爬取同一个网站的多页数据代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 一.爬虫的目的 从网上获 ...

  6. python爬取网店数据_Python爬虫实现抓取京东店铺信息及下载图片功能示例

    本文实例讲述了Python爬虫实现抓取京东店铺信息及下载图片功能.分享给大家供大家参考,具体如下: 这个是抓取信息的 from bs4 import BeautifulSoup import requ ...

  7. python爬取餐饮数据_Python爬取附近餐馆信息代码示例

    本代码主要实现抓取大众点评网中关村附近的餐馆有哪些,具体如下: import urllib.request import re def fetchFood(url): # 模拟使用浏览器浏览大众点评的 ...

  8. python关于二手房的课程论文_基于python爬取链家二手房信息代码示例

    基本环境配置 python 3.6 pycharm requests parsel time 相关模块pip安装即可 确定目标网页数据 哦豁,这个价格..................看到都觉得脑阔 ...

  9. 实现一个用户取过的数据不被其他用户取到

    实现一个用户取过的数据不被其他用户取到: 问题: 在用ADO访问数据库时,从一个表中取一定的记录(比如20行),取出后在程序中使用,使用完后删除掉记录(不用更新或删除记录).在多用户操作下(每个用户采 ...

最新文章

  1. 自动化测试的优势和局限性有哪些
  2. 卧槽!成就了Java,开发框架排第一,你还是不够了解它!
  3. java应用高内存占用
  4. _VARIANT_T 到 CSTRING 转换
  5. 【debug】使用lambda在循环中传参时,参数总为同一个值
  6. SpringMVC防止XSS攻击
  7. 苹果官网再度开售iPhone SE:这是在为新品清库存了?
  8. sklearn 3. 实例:随机森林在乳腺癌数据上的调参
  9. 进程线程之pid,tid
  10. 基于Servlet+jsp的web计算器
  11. 三星s7edge计算机软件,三星s7edge 官方6.0固件
  12. (最简单)uniapp微信小程序生成二维码图片插件
  13. 计算机修改了服务如何恢复,怎么修复MSDTC服务?
  14. 移动机顶盒migu-jt-u1 unt400c刷机 hi3798 root
  15. 解决Latex编译报错 Font shape `TU/ptm/b/n‘ undefined (Font) using ‘TU/ptm/bx/n‘ instead
  16. js面试必备:原形链
  17. 设置Mathtype的粗斜体
  18. python 期货现货差价监测_期货现货价差小工具——天勤量化(TqSdk)
  19. linux压缩命令-----zip
  20. ScriptX.cab与Smsx.cab打印代码

热门文章

  1. Citespace教程笔记
  2. Keil MDK版本更新
  3. 【Linux】shell脚本实战-if单双分支条件语句详解
  4. Mac之忘记管理员名和密码
  5. 银行信用等级评分及实现
  6. Ubuntu 8.10里指点杆中键模拟鼠标滚轮的配置方法
  7. 半导体物理载流子浓度计算思考(统计物理的重要应用)
  8. 2021极术通讯-2021半导体产业链EDA行业研究报告
  9. 信息学c语言叫啥,信息学奥林匹克竞赛-C语言贪吃蛇
  10. 在Windows10 上超详细搭建spark 开发环境