用IDLE,我写的代码可以爬,但是只能爬到https://news.sina.com.cn/为前缀的文字内容,包括video,slids啥的都爬不到,这个咋改一下可以爬取全部链接啊。
以下是代码段
import re
import os
import requests
res=requests.get("http://roll.news.sina.com.cn/news/gnxw/gdxw1/index.shtml")
res=requests.get("https://news.sina.com.cn/china/")
#news.sina.com.cn/c/2020-11-21/doc-iiznezxs2947425.shtml
res.encoding = 'utf-8'
print(res.text)
urllist=re.findall('<a href="https://news.sina.com.cn/[a-z]{1}/[a-zA-Z0-9/-]+.shtml"', res.text)
print(len(urllist))
#<a href="http://news.sina.com.cn/c/nd/2018-09-12/doc-ihiycyfx5412189.shtml"
for u in urllist[0:10]:
url=u[9:len(u)-1]
print(url)
res=requests.get(url)
res.encoding='utf-8'
#http://news.sina.com.cn/o/2018-10-19/doc-ifxeuwws5952620.shtml
#得到文件名doc-ifxeuwws5952620.shtml
filename=re.findall("/[a-zA-Z0-9-.]+$", url)
f=open("sinanews\\"+filename[0][1:],"wb")
f.write(res.text.encode("utf-8")) #html原始文档内容
f.close()
print(len(urllist))