Python使用requests及BeautifulSoup构建爬虫实例代码
作者:sober_qianyang 时间:2021-08-13 11:33:13
本文研究的主要是Python使用requests及BeautifulSoup构建一个网络爬虫,具体步骤如下。
功能说明
在Python下面可使用requests模块请求某个url获取响应的html文件,接着使用BeautifulSoup解析某个html。
案例
假设我要http://maoyan.com/board/4猫眼电影的top100电影的相关信息,如下截图:
获取电影的标题及url。
安装requests和BeautifulSoup
使用pip工具安装这两个工具。
pip install requests
pip install beautifulsoup4
程序
__author__ = 'Qian Yang'
# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup
def get_one_page(url):
response= requests.get(url)
if response.status_code == 200:
return response.content.decode("utf8","ignore").encode("gbk","ignore")
#采用BeautifulSoup解析
def bs4_paraser(html):
all_value = []
value = {}
soup = BeautifulSoup(html,'html.parser')
# 获取每一个电影
all_div_item = soup.find_all('div', attrs={'class': 'movie-item-info'})
for r in all_div_item:
# 获取电影的名称和url
title = r.find_all(name="p",attrs={"class":"name"})[0].string
movie_url = r.find_all('p', attrs={'class': 'name'})[0].a['href']
value['title'] = title
value['movie_url'] = movie_url
all_value.append(value)
value = {}
return all_value
def main():
url = 'http://maoyan.com/board/4'
html = get_one_page(url)
all_value = bs4_paraser(html)
print(all_value)
if __name__ == '__main__':
main()
代码测试可用,实现效果:
来源:http://blog.csdn.net/qy20115549/article/details/78111615
标签:python,requests,beautifulsoup,爬虫
0
投稿
猜你喜欢
使用python调用zxing库生成二维码图片详解
2022-03-19 06:41:09
Python实现外星人去哪了小游戏详细代码
2023-08-07 13:42:44
Python通过matplotlib画双层饼图及环形图简单示例
2021-09-14 11:08:18
Centos6.5和Centos7 php环境搭建方法
2023-11-14 19:25:38
Mysql事务处理详解
2024-01-21 18:15:27
三行代码使用Python将视频转Gif的方法示例
2021-02-28 13:53:39
详解Python字符串原理与使用的深度总结
2021-09-17 17:31:14
mysql 一个较特殊的问题:You can't specify target table 'wms_cabinet_form'
2024-01-24 19:07:13
Django 日志配置按日期滚动的方法
2021-02-02 08:27:01
Python OpenCV中的resize()函数的使用
2022-03-23 23:11:56
微信小程序下载工具及调试详解
2022-10-30 09:06:05
Golang实现http server提供压缩文件下载功能
2024-05-09 14:56:00
Django REST Framework序列化外键获取外键的值方法
2022-02-23 16:03:14
python实现图像全景拼接
2023-05-08 13:29:24
Google logo “我的中国”谷歌国际少年绘画大赛小学1-3年级
2008-12-19 12:26:00
OpenCV图像识别之姿态估计Pose Estimation学习
2023-08-10 14:25:28
仿jQuery的siblings效果的js代码
2024-04-28 09:36:34
Python编程实现及时获取新邮件的方法示例
2022-09-28 16:52:15
MySQL插入emoji表情失败问题的解决方法
2024-01-24 05:26:05
Oracle 存储过程教程
2009-10-24 18:05:00