Python使用requests及BeautifulSoup構(gòu)建爬蟲實(shí)例代碼
本文研究的主要是Python使用requests及BeautifulSoup構(gòu)建一個網(wǎng)絡(luò)爬蟲,具體步驟如下。
功能說明
在Python下面可使用requests模塊請求某個url獲取響應(yīng)的html文件,接著使用BeautifulSoup解析某個html。
案例
假設(shè)我要http://maoyan.com/board/4貓眼電影的top100電影的相關(guān)信息,如下截圖:

獲取電影的標(biāo)題及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()
代碼測試可用,實(shí)現(xiàn)效果:

總結(jié)
以上就是本文關(guān)于Python使用requests及BeautifulSoup構(gòu)建爬蟲實(shí)例代碼的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
- Python爬蟲庫requests獲取響應(yīng)內(nèi)容、響應(yīng)狀態(tài)碼、響應(yīng)頭
- python中數(shù)據(jù)爬蟲requests庫使用方法詳解
- python爬蟲入門教程--優(yōu)雅的HTTP庫requests(二)
- Python3網(wǎng)絡(luò)爬蟲中的requests高級用法詳解
- python爬蟲基礎(chǔ)教程:requests庫(二)代碼實(shí)例
- Python 通過requests實(shí)現(xiàn)騰訊新聞抓取爬蟲的方法
- 使用requests庫制作Python爬蟲
- Python爬蟲工具requests-html使用解析
相關(guān)文章
探索python?dask靈活的并行計算庫應(yīng)用場景示例
這篇文章主要介紹了探索python?dask靈活的并行計算庫應(yīng)用場景示例,Dask?是?Python?中的一個靈活的并行計算庫,允許用戶利用?CPU?內(nèi)核的強(qiáng)大功能,對大于內(nèi)存的數(shù)據(jù)集執(zhí)行分布式計算2024-01-01
python實(shí)現(xiàn)在sqlite動態(tài)創(chuàng)建表的方法
這篇文章主要介紹了python實(shí)現(xiàn)在sqlite動態(tài)創(chuàng)建表的方法,涉及Python操作SQLite數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)表的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-05-05
python實(shí)現(xiàn)每天定時發(fā)送郵件的流程步驟
這篇文章主要介紹了python實(shí)現(xiàn)每天定時發(fā)送郵件的流程步驟,要編寫一個用于自動發(fā)送每日電子郵件報告的 Python 腳本,并配置它在每天的特定時間發(fā)送電子郵件,文中給大家介紹了詳細(xì)步驟和示例代碼,需要的朋友可以參考下2024-08-08
pytorch+lstm實(shí)現(xiàn)的pos示例
今天小編就為大家分享一篇pytorch+lstm實(shí)現(xiàn)的pos示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python實(shí)現(xiàn)層次分析法及自調(diào)節(jié)層次分析法的示例
這篇文章主要介紹了Python實(shí)現(xiàn)層次分析法及自調(diào)節(jié)層次分析法的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
python實(shí)戰(zhàn)之德州撲克第三步-比較大小
這篇文章主要介紹了python實(shí)戰(zhàn)之德州撲克第三步-比較大小,穩(wěn)中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下2021-04-04
Python?PaddleNLP開源實(shí)現(xiàn)快遞單信息抽取
這篇文章主要為大家介紹了Python?PaddleNLP開源項目實(shí)現(xiàn)對快遞單信息抽取,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
python利用platform模塊獲取系統(tǒng)信息
這篇文章主要介紹了python利用platform模塊獲取系統(tǒng)信息,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-10-10

