时间:2021-07-30
版本:python3.9
pyquery库的下载安装
cmd方法:pip install pyquery
引入库
#! python3
# -*- encoding: utf-8 -*-
"""
@File : Hunan_pyquery.py
@Time : 2021/07/28 16:01:43
@Author : 小笼包吃汤包
@Version : 1.0
"""
import requests
from pyquery import PyQuery as pq
遍历网页信息的页数
datas = [] #定义一个容器以存储信息内容
for idx in range(18):
if idx == 0:
url = f'http://ybj.hunan.gov.cn/ybj/first113541/firstF/f2113606/index.html'
else:
url = f"http://ybj.hunan.gov.cn/ybj/first113541/firstF/f2113606/index_{idx}.html"
定义headers,在浏览器开发者模式中寻找
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Connection': 'keep-alive',
'Content-Type': 'text/html',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
}
解析网页
html = requests.get(url=url, headers=headers).content.decode('utf-8', 'ignore')
doc = pq(html)
用pyquery方法获取需要的网页标签
# print(dl.find('dt').text())
# print(dl.find('dt a').attr('href'))
# print(dl.find('dd p').text())
# print(dl.find('dd span em')[0].text)
# print(dl.find('dd span em')[1].text)
datas.append(dl.text())
print('标题:%s\r\n链接:%s\r\n内容:%s\r\n%s\r\n发布时间:%s\r\n-----------------------------------------' % (
dl.find('dt').text(), dl.find('dt a').attr('href'), dl.find('dd p').text(), dl.find('dd span em')[0].text,
dl.find('dd span em')[1].text))
保存数据
with open('Hunan.text', 'w', encoding='utf-8') as f:
f.write('\n--------------------------------------\n'.join(datas))