欢迎光临
我们一直在努力

使用Python爬取网站的文本_自动换页

使用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
import urllib.request
import re
url="http://网址/page/2/"
headers=('user-agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36')
opener=urllib.request.build_opener()
opener.addheaders=[headers]
#安装为全局
print('开始执行')
urllib.request.install_opener(opener)
data=urllib.request.urlopen(url).read().decode('utf-8','ignore')
#pat='<h2>.*?<a href="(.*?)">'




#pat = '<aside class="continar-left-top">[\s\S]*?<h1>[\s\S]*?<a href="(.*?)"'

#pat = '<article class="text">[\s\S]*?<div class="img-left">[\s\S]*?<a class="read-more" href="(.*?)"'



#pat = '<h2>\n*<a href="(.*?)"'

#alllink = re.compile(pat).findall(data)
#print(alllink);

for j in range(1,5):
    thisUrl = "http://网址/page/"+str(j+1)+"/"
    print(thisUrl)
    data = urllib.request.urlopen(thisUrl).read().decode('utf-8', 'ignore')
    pat ='<div class="post-content">.*?<p>(.*?)</p>.*?</div>'
    title ='<h1 class="post-title"><a href=".*?">(.*?)</a>'
    rst = re.compile(pat,re.S).findall(data)
    countTitle = re.compile(title).findall(data)
    print(len(rst))
    #print(rst[1])
    fn = open('C:/Users/Administrator/Desktop/excel/duanzi.html', 'a+')

    for i in range(0,len(rst)):
        print(rst[i])
        fn.write("<h3>"+countTitle[i]+"</h3><p>"+rst[i]+"</p><br />")
    fn.close()

'''
for i in range(0,len(alllink)):
    localpath="C:/Users/Administrator/Desktop/excel/duanzi.txt/"+str(i+1)+".html"
    thislink=alllink[i]
    urllib.request.urlretrieve(thislink,filename=localpath)
    print('
当前文章第'+str(i+1)+'篇爬取成功')
'
''
赞(0) 打赏
未经允许不得转载: » 使用Python爬取网站的文本_自动换页
分享到: 更多 (0)

评论标题 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏