爬取糗事百科感想

requests + bs4

  • 糗事百科访问做了一定的限制,要用requests伪造请求头
  • 界面是纯静态界面,用bs4提取页面主体信息就可以了

requests

1
2
3
session = requests.Session()
headers = {'User-Agent': 'xxxx'}
html = session(url, headers=headers).text

bs4

比较熟悉,写一下要点

  • 可以用bsObj.h1来获得h1的内容
  • 注意一般都是以list的形式,注意下标
1
author = joke.findAll('div', {'class': 'author clearfix'})[0].findAll('h2')[0].get_text()

亮点:面向对象编程

  • 把整个功能以一个class的形式集成
  • 通过类里面的函数一步步实现功能

面向对象:

  • init():来初始化一些变量,通常是公共的(全局)
  • 把一个大功能分散成若干个步骤
  • 调用变量或者函数用self.func或self.v