抓取网页新闻(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("&nbsp","\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(&#39;"&#39;)[0] + i.split(&#39;"&#39;)[1] + "===============\n" + strTxtTmp

strTxtTmp = "" # 组合链接标题和正文内容

print strTxtOK

f.write(strTitle + "\n\n\n" + strTxtOK)# 全部分析完成后,写入文件

f.close()#关闭文件

  文章 代码效果有限,请在使用前进行适当修改。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线