抓取网页新闻(Python爬虫用Python语言编写的python爬虫实现方法一文)
优采云 发布时间: 2021-12-14 05:20抓取网页新闻(Python爬虫用Python语言编写的python爬虫实现方法一文)
Python爬虫学习,自动抓取163新闻的Python爬虫源码。这是一篇用Python编写的自动抓取网易新闻的Python爬虫的文章。
Python爬虫的爬取思路是:
(1) 通过分析目标新闻网址,分析以
(2)获取每个链接的内容,整理合并成准备好的.txt文本,以便查看新闻。
不过需要注意的是,由于今天的考题,网易新闻的格式不是很统一,会有一些缺失的部分。请原谅我。也希望有能力的朋友帮忙改进一下。
自动抓取163新闻的Python爬虫源码如下:
#coding:utf-8
import re, urllib
strTitle = ""
strTxtTmp = ""
strTxtOK = ""
f = open("163News.txt", "w+")
m = re.findall(r"news\.163\.com/\d.+?",urllib.urlopen("http://www.163.com").read(),re.M)
#www.iplaypy.com
for i in m:
testUrl = i.split('"')[0]
if testUrl[-4:-1]=="htm":
strTitle = strTitle + "\n" + i.split('"')[0] + i.split('"')[1] # 合并标题头内容
okUrl = i.split('"')[0] # 重新组合链接
UrlNews = ''
UrlNews = "http://" + okUrl
print UrlNews
"""
查找分析链接里面的正文内容,但是由于 163 新闻的格式不是非常统一,所以只能说大部分可以。
整理去掉部分 html 代码,让文本更易于观看。
"""
n = re.findall(r"<P style=.TEXT-INDENT: 2em.>(.*?)",urllib.urlopen(UrlNews).read(),re.M)
for j in n:
if len(j)0:
j = j.replace(" ","\n")
j = j.replace("<STRONG>","\n_____")
j = j.replace("</STRONG>","_____\n")
strTxtTmp = strTxtTmp + j + "\n"
strTxtTmp = re.sub(r"<a href=(.*?)>", r"", strTxtTmp)
strTxtTmp = re.sub(r"", r"", strTxtTmp)
strTxtOK = strTxtOK + "\n\n\n===============" +
i.split('"')[0] + i.split('"')[1] + "===============\n" + strTxtTmp
strTxtTmp = "" # 组合链接标题和正文内容
print strTxtOK
f.write(strTitle + "\n\n\n" + strTxtOK)# 全部分析完成后,写入文件
f.close()#关闭文件
文章 代码效果有限,请在使用前进行适当修改。