python登录并爬取淘宝信息代码示例
更新时间:2017年12月09日 14:27:40 作者:小奇葩
这篇文章主要介绍了python 登录并爬取淘宝信息代码示例,具有一定借鉴价值,需要的朋友可以了解下。
本文主要分享关于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实现滑动平均(Moving Average)的例子
今天小编就为大家分享一篇Python实现滑动平均(Moving Average)的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-08-08
Python中使用pymysql连接MySQL数据库进行数据查询
在当今数字化时代,数据的重要性不言而喻,而数据库作为数据存储与管理的核心工具,在各类应用系统中扮演着关键角色,Python 作为一种广泛使用的编程语言,提供了多种与数据库交互的方式,其中 pymysql 库是连接 MySQL 数据库的常用选择之一,需要的朋友可以参考下2025-01-01
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
这篇文章主要介绍了Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2020-02-02


最新评论