欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

爬取博客园有关爬虫的文章

程序员文章站 2023-11-16 11:30:22
最近自己的测试小圈子里都在讨论爬虫,发现我装逼都困难了许多,所以决定快速补充一下这方面的东西。 到网上找了点视频,实在是看不进去(主要是对装逼没有什么帮助),然后又由于略微懒得原因就写了这个小东西。 没有封装,流水账式写法,比较简陋,各位客官(dalao)见谅。 可以给中间加一小段,写到文档里,保存 ......

    最近自己的测试小圈子里都在讨论爬虫,发现我装逼都困难了许多,所以决定快速补充一下这方面的东西。

    到网上找了点视频,实在是看不进去(主要是对装逼没有什么帮助),然后又由于略微懒得原因就写了这个小东西。

    没有封装,流水账式写法,比较简陋,各位客官(dalao)见谅。

 1 # coding: utf-8
 2 import requests
 3 from bs4 import beautifulsoup
 4 # 定义变量,这里可以用一个
 5 d = 1
 6 p = 0
 7 k = 0
 8 reptilian_url = []
 9 reptilian_title = []
10 # 打开session
11 s = requests.session()
12 # 伪装头部
13 h = {
14     'user-agent':'mozilla/5.0 (windows nt 10.0; wow64) applewebkit/537.36 (khtml, like gecko) chrome/55.0.2883.87 ubrowser/6.2.4094.1 safari/537.36',
15     'accept-encoding':'gzip, deflate, br'
16 }
17 # 从第1页到最大页数的url,总共有200页,这个数值也可以从页面读取
18 while d in range(200):
19     url = 'https://www.cnblogs.com/cate/python/%d'% d
20     r = s.get(url, headers=h)
21     t = r.text
22     soup = beautifulsoup(t, 'lxml')
23     list = soup.select('div.post_item_body h3')
24     list2 = soup.find_all(attrs={'class':"titlelnk"})
25     while p < d:
26         # 把标题写入空列表
27         for z1 in list:
28             reptilian_title.append(z1.string)
29         # 把url写入空列表
30         for u1 in list2:
31             reptilian_url.append(u1['href'])
32         p += 1
33     d += 1
34 # 打印爬取的总数据量
35 print(len(reptilian_title))
36 # 加入筛选条件,包含爬虫字段的帖子
37 while k < len(reptilian_title):
38     if '爬虫' in reptilian_title[k]:
39         print(k+1,'%s'%reptilian_title[k],'','%s'%reptilian_url[k])
40         print('===============================')
41     k += 1

    可以给中间加一小段,写到文档里,保存下来偷偷看。

1 reptilian = open('1.txt', 'a')
2 reptilian.writelines(['标题:',reptilian_title,' ','url:',reptilian_url])
3 reptilian.close()