python簡單爬蟲

2021-10-05 22:20:53 字數 1725 閱讀 9696

前面學習了

搭建簡單資料庫

python連線運算元據庫

接下來使用beautifulsoup來實現乙個python的爬蟲

簡單爬蟲程式,這裡以乙個簡單的例子來說明python爬蟲的基本流程。

demo.py檔案

from bs4 import beautifulsoup

import urllib.request

# 爬取網路資料

def getdatafromurl(url):

# 配置乙個requestheader(user-agent是使用者**,就是使用者進行請求的時候,瀏覽器和系統的相關資訊,有的頁面需要這些,有些不需要)

# 封裝請求引數(例子中,如果沒有header引數,會提示跳往登入頁面,如果沒有這個需求,可以直接呼叫下面的urlopen(url)來進行請求)

req = urllib.request.request(url, headers=headersstr)

# 發起請求,拿到返回物件

res = urllib.request.urlopen(req)

# 通過返回的物件,獲取html頁面物件

html = res.read().decode('utf-8')

# print(html)

# 解析html,第二個引數'lxml'可以理解為解析方式,得到解析後的物件

soup = beautifulsoup(html, 'lxml')

# 通過解析後的物件獲取指定元素(ul元素,class值為'j_valuelist v-fixed'的元素集合)

contents = soup.find_all('ul',attrs=)

# 拿到集合中的第乙個ul元素

contents_1 = contents[0]

# 再解析獲取到的元素,第乙個引數表示把contents_1轉換為str格式,解析方式為'html.parser'

# 我們可以看出來,獲取頁面相關的物件,是用beautifulsoup(str,'parser')的方式來進行解析的

# 可以通過這種方式來一層一層往下解析物件

infosoup = beautifulsoup(str(contents_1), 'html.parser')

# 通過解析後的物件獲取到指定的元素

# 假設通過beautifulsoup(str,'parser')得到的物件是a,我們可以通過呼叫a.findall()來獲取到符合要求的元素合集

intro = infosoup.find_all('a', attrs=)

# 遍歷元素合集,列印出來

for i in range(0, len(intro)):

cbsstr = intro[i].text.replace(" ","").replace("\n","").replace(":",":").replace("\r","")

print(cbsstr)

print('')

呼叫的時候需要先將爬蟲檔案引用

import src.******reptile as sr

if __name__ == '__main__':

# 呼叫介面,請求網頁資料

python爬蟲簡單 python爬蟲 簡單版

學過python的帥哥都知道,爬蟲是python的非常好玩的東西,而且python自帶urllib urllib2 requests等的庫,為爬蟲的開發提供大大的方便。這次我要用urllib2,爬一堆風景。先上重點 1 response urllib2.urlopen url read 2 soup...

簡單python爬蟲

一段簡單的 python 爬蟲程式,用來練習挺不錯的。讀出乙個url下的a標籤裡href位址為.html的所有位址 一段簡單的 python 爬蟲程式,用來練習挺不錯的。讀出乙個url下的a標籤裡href位址為.html的所有位址 usr bin python filename test.py im...

Python簡單爬蟲

一.獲取整個頁面的資料 coding utf 8 import urllib defgethtml url page urllib.urlopen url html page.read return html html gethtml print html 二.篩選需要的資料 利用正規表示式來獲取想...