·requests包
import requests
import re
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.63"} #头表示浏览器
r=requests.get('http://finance.people.com.cn/GB/70846/index.html',headers=headers) #目标网址
r.encoding=r.apparent_encoding #转换抓取到的内容编码格式
pq=r'<li><a href=\'(.*?)\' target=_blank>(.*?)</a> <em>(.*?)</em></li>' #正则文本格式
jieguo=re.findall(pq,r.text)#抓取全部符合格式的文本内容
for news in jieguo:
print(news[0],news[1],news[2])
rr = requests.get('http://finance.people.com.cn/GB/70846/index.html'+news[0])
rr.encoding = r.apparent_encoding
qq=r'<div class="box_pic"></div>(.*?)<div class="zdfy clearfix">'
jie = re.findall(qq, rr.text,re.DOTALL)#DOTALL命令是忽略文本内容中的全部换行
nei=re.sub('<.*?>','',jie[0]) #替换文本内容
with open('news/'+news[1]+'.txt','w',encoding='utf-8') as f:#将抓取到的内容导出到文件当中
html=f.write(nei)