如何用python抓取动态网页数据
发布于 2021-10-24 11:05:12
浏览 270
详情:
1、
欢迎访问抉信网 www.juexinw.com
1.在百度首页输入“名词”,百度会出现这样的网页
2、
欢迎访问抉信网 www.juexinw.com
2.在浏览器中按F12,打开开发者工具,选中network、ALL,点击名词的“下一页”,会显示出请求数据。
3、
欢迎访问抉信网 www.juexinw.com
3.点击右侧的Preview,会看到有json数据,展开后,能看到显示的名词。
4、
欢迎访问抉信网 www.juexinw.com
4.在headers中能看到请求的url地址跟参数,接下来就是要在pycharm中编写代码来获取相应的数据了。
5、
欢迎访问抉信网 www.juexinw.com
5.# -*- cong:utf-8 -*-
6、
欢迎访问抉信网 www.juexinw.com
import re,requests,json
7、
欢迎访问抉信网 www.juexinw.com
from lxml import etree
8、
欢迎访问抉信网 www.juexinw.com
headers = {
9、
欢迎访问抉信网 www.juexinw.com
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/
10、
欢迎访问抉信网 www.juexinw.com
74.',
11、
欢迎访问抉信网 www.juexinw.com
def downloadtxt(url,coding="gb2312"):
12、
欢迎访问抉信网 www.juexinw.com
try:
13、
欢迎访问抉信网 www.juexinw.com
html = requests.get(url, headers=headers)
14、
欢迎访问抉信网 www.juexinw.com
html.encoding = coding
15、
欢迎访问抉信网 www.juexinw.com
return html.text
16、
欢迎访问抉信网 www.juexinw.com
except:
17、
欢迎访问抉信网 www.juexinw.com
return
18、
欢迎访问抉信网 www.juexinw.com
if __name__ == '__main__':
19、
欢迎访问抉信网 www.juexinw.com
for i in range(432):
20、
欢迎访问抉信网 www.juexinw.com
url = "https://sp
21、
欢迎访问抉信网 www.juexinw.com
0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?resource_id=28204&from_mid=1&format=json&query=名词&sort_type=1&pn={}&rn=40".format(i*40)
22、
欢迎访问抉信网 www.juexinw.com
res = downloadtxt(url)
23、
欢迎访问抉信网 www.juexinw.com
json_data = json.loads(res)
24、
欢迎访问抉信网 www.juexinw.com
for word in json_data['data'][0]['result']:
25、
欢迎访问抉信网 www.juexinw.com
print(word['ename'],end=',')
26、
欢迎访问抉信网 www.juexinw.com
print()
27、
欢迎访问抉信网 www.juexinw.com
downloadtxt是封装的一个获取请求返回结果的函数,在main主函数中有进行调用,for i in range(432),是因为共有432页。
28、
欢迎访问抉信网 www.juexinw.com
6.最后会直接print到屏幕,结果如图。
上一篇:Word怎么将图片上文字转换成文本文字
下一篇:分区助手分区步骤