爬虫思路:
(1)分析网页,得到所需信息的URL。具体用火狐或谷歌浏览器,F12,
(2)编程工具 中科大镜像中心下载的 Anaconda3-5.0.1-Windows-x86_64 ,优点是常用的模板都已经下载且每一步可以出结果。
(3)开始编译
#分析网页 火狐浏览器 F12->消息头,逐步将后面不用的删除。
# https://rate.tmall.com/list_detail_rate.htm?itemId=538473991555&spuId=699374051&sellerId=2616970884&order=3¤tPage=2
import requests
import re #正则表达式
import time
import pandas #保存成 CSV文件
#为了让服务器知道我们是浏览器发出的请求
header={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0'}
url='https://rate.tmall.com/list_detail_rate.htm?itemId=538473991555&spuId=699374051&sellerId=2616970884&order=3¤tPage=2'
#发起一次请求
html=requests.request('GET ', url , headers=header)
html.status_code #查看请求状态 200正常
ren=re.compile(r'"rateContent":"(.*?)","rateDate"', re.S)
#正则表达式查找
Pl=re.findall(ren, html.text)
Pl
len(re.findall(ren, html.text))
#转换成csv
data = pandas.DataFrame(Pl) #csv
data
#CSV保存
data.to_csv('C:\\Users\\Administrator\\Desktop\\python\\tmall.csv',header=False,index=False,mode='a+')
#循环抓取多页
data=[] #赋予一个列表的格式
for ii in range (1,50):
new_url = 'https://rate.tmall.com/list_detail_rate.htm?itemId=538473991555&spuId=699374051&sellerId=2616970884&order=3¤tPage'+ str(ii)
time.sleep(2)
html=requests.request('GET ', new_url , headers=header)
data = pandas.DataFrame(re.findall(ren, html.text)) #csv
data.to_csv('C:\\Users\\Administrator\\Desktop\\python\\tmall1.csv',header=False,index=False,mode='a+')
-