注意:本章节主要讲解数据获取部分
将网页中展示的数据爬取到可以编辑的文本工具中从而实现批量 *** 作。在具体的爬取过程中,经常使用的根据有Excel和Python。
该板块由三个模块组成:
在爬虫过程中,最为常用的浏览器为谷歌浏览器和火狐浏览器。
实 *** 步骤:
1.获取浏览器标识
以谷歌浏览器为例:
打开浏览器输入目标网站后,右键点击检查(快捷键Ctrl+Shift+I(注:不是L,是I)),在检查页面中点击Network后重新加载页面,在检查Network页面中单击第一个网页信息:index.html。在右边出现的窗口Headers中,将页面拉至底部可查找到浏览器标识UserAgent,复制UserAgent信息即可。
2.设置响应时间(位置用户浏览)
新建Excel并打开,点击自网站,在d出的窗口中选择高级选项,将我们需要爬取的目标网址信息粘贴到Url位置处,同时在响应时间栏中设置1分钟的响应时间,
3.设置浏览器标识
在HTTP请求标头参数中下拉选择UserAgent,粘贴浏览器的UserAgent信息。
4.将数据载入到Power Query中进行预处理,建立网页链接后,选择数据Table0,选择编辑进入Power Query中进行数据预处理。处理完数据后,依照惯例,制作可视化地图。
"""
@author: wangxingchun
多线程(线程池)
下载数据
"""
import requests
import csv
from concurrent.futures import ThreadPoolExecutor as tp
#创建一个csv文件,注意创建writer对象"csv.writer()"
f = open('xinfadi.csv','w',encoding='utf8')
csvwrite = csv.writer(f)
#如果写入txt文件,不需要创建writer对象。
# f = open('xinfadidata.txt','w',encoding='utf8')
#创建一个函数,以页码做为参数
def down(n_page):
url = 'http://www.xinfadi.com.cn/getPriceData.html'
data = {'count': 428225,'current': n_page,'limit': 20}
resp = requests.post(url,data=data)
datas =resp.json()
#通过分析数据嵌套情况,获取数据。此处可在网页开发工具json数据中查看分析。
for i in range(len(datas['list'])):
name = datas['list'][i]['prodName']
highPrice = datas['list'][i]['highPrice']
lowPrice = datas['list'][i]['lowPrice']
pubDate = datas['list'][i]['pubDate']
place = datas['list'][i]['place']
csvwrite.writerow((name,highPrice,lowPrice,pubDate,place))#writerow要求写入的是可迭代对象
# f.writelines(f'{name},{highPrice},{lowPrice},{pubDate},{place} ')
resp.close()
if __name__ == '__main__':
with tp(50) as t: #创建线程池,
for n in range(1,101): #遍历数据网页
t.submit(down,n) #提交给线程池,进行多线程下载
print(f'共{n}页数据下载完毕!')
f.close()
需要。1、首先,和数据库建立连接。
2、其次,执行sql语句,接收返回值。
3、最后,关闭数据库连接。Python是一种一门叫做ABC语言的替代品。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)