python3.x提取网页全部文本(要求适用全部网站)
发布网友
发布时间:2022-04-24 16:13
我来回答
共2个回答
热心网友
时间:2022-04-18 07:37
#coding=utf-8
import requests
import sys
def getHtmlText(url,prefix='http'):
if not url.startswith(prefix):
url='{}://{}'.format(prefix,url)
try:
kv={'User-Agent':'Mozilla/5.0'} # 模拟浏览器Mozilla
r=requests.get(url,headers=kv,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return '爬取失败,请检查网址或网络连接'
if __name__=='__main__':
url='www.baidu.com' # 要爬取的网站
if len(sys.argv)>1:
url=sys.argv[1]
fname='a.html' # 爬取结果写在这个文件里
if len(sys.argv)>2:
fname=sys.argv[2]
text=getHtmlText(url)
with open(fname,'w') as f:
f.write(text)
print('content of site write at "',fname,'" with length of',len(text))
ref: http://www.icourse163.org/course/BIT-1001870001
热心网友
时间:2022-04-18 08:55
你这问题有点大。每个网站的结构不一样,还有各种反爬虫手段,还有动态网页等。。。追问只要求文本,和静态页,不考虑反爬虫
追答
print(content)内容就出来了。