Python 利用 BeautifulSoup 爬取网站获取新闻流

  介绍下 Python 用 Beautiful Soup 周期性爬取 xxx 网站获取新闻流;

 

1. 开发环境

  Python:      3.6.3

  BeautifulSoup:    4.2.0 , 是一个可以从HTML或XML文件中提取数据的Python库* ( BeautifulSoup 的中文官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/ )

 

2. 代码介绍

实现主要分为三个模块:

  1. 计时 / second cnt

    因为是周期性爬取,所以需要计时器来控制;

  2. 设置代理 / set proxy

    为了应对网站的反爬虫机制,需要切换代理;

  3. 爬虫 / web spider

    利用 requests 请求网站内容,然后 beautifulsoup 提取出所需信息;

 

利用 requests.get() 向服务器发送请求 >>> 拿到 html 内容 >>> 交由 beautifulsoup 用来解析提取数据;

 

先看一个 requests 和 beautifulsoup 拿数据的简单例子:

requests 发送请求给网站,然后 get 到返回的 html,然后再转换为 beautifulsoup 的对象;

( headers 和 proxies 是可选项 / optional )

1 from bs4 import BeautifulSoup 2 import requests 3 html = "https://www.xxx.com" 4 headers = { 5 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36' 6 } 7 proxies = "114.231.xx.xx:xxxx" 8 9 resp = requests.get(html, headers=headers, proxies=proxies) 10 resp.encoding = 'utf-8' 11 12 bsObj = BeautifulSoup(resp.content, "lxml")

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypwwf.html