用python爬取网站数据(成功利用python爬取网页html表格)

爬虫是一件很有趣的事情,就像黑客一样,和服务器对抗,服务器维护代码防止爬虫,我们通过各种bug解决爬虫困难,真实有趣!今天给大家带来一串代码,针对网页中的表格爬取,表格页码变化,而链接url不变的情况1首先给出爬取的原文链接:https://d.qianzhan.com/yuanqu/接下来一步一步解释一下代码:#导入所需库文件
import requests
import pandas as pd
import csv
代码核心上面三个库文件是本次爬虫所需的主要库,requests库向网站发送请求,请求成功则返回响应状态码为200,否则为400或者404,pandas库可以用来直接抓取表格数据,csv库用来将文件保存在本地csv文件内。#这里爬取的表格为广东省的数据表格
areas = [‘广东省’]
#写入链接url
urls = [‘https://d.qianzhan.com/yuanqu/?p={}’.format(str)for str in areas]
x = 0
for url in urls:
#打开csv文件,在第一行写入标题
with open(‘前瞻.csv’, ‘a’, newline=”, encoding=’utf-8-sig’) as csvfile:
w = csv.writer(csvfile)
# 写入标题或称之为变量
w.writerow([‘序号’, ‘园区名称’, ‘省份’, ‘城市’, ‘占地面积’, ‘企业数’, ‘详情’])
# 对表格的全部页数进行抓取
for i in range(1, 33): # 跳页
# 在网页源代码找到页码的属性,这里页码在属性page上
data = {
‘page': i
}
# 对网站发送请求,获得响应
s = requests.session()
d = s.get(url, params=data)
# 抓取html表格
tb = pd.read_html(d.text)[1]
# 将抓取来的表格填入csv文件内
tb.to_csv(r’前瞻.csv’, mode=’a’, encoding=’utf_8_sig’, header=0, index=0)
# 每抓取玩一个省份,打印出抓取结果,给用户更好体验
print(areas[x], “已经抓取完成!请到本地文档中查看抓取结果!”)
x = x+1
# 全部抓取完成,则打印’全部抓取完毕!’

print(‘全部抓取完毕!’)
结果分析最终成功抓取到所有表格的内容,并存入了csv文件内,大家有问题可以下方留言讨论!


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/44110/