zoukankan      html  css  js  c++  java
  • 爬取博客园有关爬虫的文章

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

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

        没有封装,流水账式写法,比较简陋,各位客官(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()
  • 相关阅读:
    LINUX的SSH下FTP到远程服务器Entering Passive Mode失败解决
    LINUX的SSH下FTP到远程服务器Entering Passive Mode失败解决
    LINUX的SSH下FTP到远程服务器Entering Passive Mode失败解决
    git rm简介
    git rm简介
    git rm简介
    linux rz -e
    新版住院电子病历首页 (2012年修订说明)
    DateEdit和TimeEdit用法
    ORA-22868: 具有 LOB 的表包含有位于不同表空间的段
  • 原文地址:https://www.cnblogs.com/lvzhenhua/p/9752889.html
Copyright © 2011-2022 走看看