自动抓取163新闻的Python爬虫源码

Python爬虫的学习,自动抓取163新闻的Python爬虫源码,这是一个用Python语言编写的,自动抓取网易新闻的python爬虫实现方法一文。

Python爬虫的抓取思路是:
(1)通过分析目标新闻网址 ,分析其中以News.xxx.com 开头的链接
(2)获取每一个链接的内容,并做整理合并到事前准备好的.txt 文本中,以便查看各新闻。
但是需要注意的是:由于今天的测试对象,网易新闻的格式不是非常统一,所有会有部分漏掉的情况,还能大家见谅。也希望有能力的朋友们帮着改进一下。

自动抓取163新闻的Python爬虫源码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#coding:utf-8
 
importre, urllib
 
strTitle =""
strTxtTmp =""
strTxtOK =""
 
f =open("163News.txt", "w+")
 
m =re.findall(r"news\.163\.com/\d.+?<\/a>",urllib.urlopen("http://www.163.com").read(),re.M)
 
#www.iplaypy.com
 
fori inm:
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
 
printUrlNews
 
"""
查找分析链接里面的正文内容,但是由于 163 新闻的格式不是非常统一,所以只能说大部分可以。
整理去掉部分 html 代码,让文本更易于观看。
"""
n =re.findall(r"

(.*?)<\/P>",urllib.urlopen(UrlNews).read(),re.M)

forj inn:
iflen(j)<>0:
j =j.replace(" ","\n")
j =j.replace("","\n_____")
j =j.replace("","_____\n")
strTxtTmp =strTxtTmp +j +"\n"
strTxtTmp =re.sub(r"", r"", strTxtTmp)
 
 
 
 
 

文章代码实效性有限,还请适当做修改后再使用。

posted @ 2017-11-04 21:59  幻维天  阅读(1492)  评论(0编辑  收藏  举报