这是一个基于Python的简单爬虫程序,用于爬取公众号文章的内容。以下是对代码的详细解释:
import requests
from bs4 import BeautifulSoup
http://www.jshk.com.cn/mb/reg.asp?kefu=xiaoding;//爬虫IP免费获取;
首先,导入了 requests 库用于处理HTTP请求,以及 BeautifulSoup 用于解析HTML。
爬虫代理信息
proxy_host = 'www.duoip.cn'
proxy_port = '8000'
建立一个代理处理器
proxy_handler = requests.ProxyHandler({'http': f'http://{proxy_host}:{proxy_port}'})
创建一个带代理的请求对象
session = requests.Session()
session.proxies = proxy_handler.proxy
接下来,设置了代理信息。通过指定代理主机和端口,创建了一个代理处理器,并使用 Session 对象确保整个会话都使用代理。
目标网站的 URL
url = 'https://mp.weixin.qq.com/s?__biz=MzI5Nzg5MjI3NA==&mid=2247483779&idx=1&sn=69978574b93287037c593304f24c22c6&chksm=fa864a8bce61d4a1cd1d139d38952c4758b6c7f3dc8a9201727403d0e05d72475e2df2c703f0&mpshare=1&scene=1&srcid=0920YKxjxRkYs6vzHmQjEFy&sharer_sharetime=1642690553860&sharer_shareid=3f2f1e5c5c6549881e085634f5f5403b'
然后,设置了目标网站的URL。
发送 HTTP 请求
response = session.get(url)
使用 requests 库发送了HTTP GET请求,并得到了响应。
解析 HTML 代码
soup = BeautifulSoup(response.text, 'html.parser')
使用 BeautifulSoup 解析了返回的HTML代码。
找到所有的文章标题
titles = soup.find_all('h2', class_='title')
通过 find_all 方法找到所有
标签,并具有 class 属性值为 ‘title’ 的元素,这样就筛选出了文章标题。
打印文章标题
for title in titles:
print(title.text)
最后,通过循环遍历所有标题,并打印它们的文本内容。
这个程序通过设置代理信息,发送HTTP请求,解析HTML代码,最终实现了爬取指定公众号文章标题的功能。