python進行網頁資料爬取(一)

2021-10-09 13:50:47 字數 2871 閱讀 2656

網路資料採集的一般流程:

1、通過**網域名稱獲取html資料;

2、根據目標資訊解析資料;

3、儲存目標資訊;

4、若有必要,移到另乙個網頁重複這個過程。

一、通過**網域名稱獲取html資料;

使用requests庫來進行獲取html資料

import requests

url =

''r = requests.get(url)

html = r.text.encode(r.encoding)

.decode(

)print

(html)

二、根據目標資訊解析資料;1、html網頁結構;

乙個頁面包含了head和body兩部分的內容,需要的內容一般是在body中。

2、利用beautifulsoup解析html

#根據目標資訊解析html文件

import requests

from bs4 import beautifulsoup

url =

''r = requests.get(url)

html = r.text.encode(r.encoding)

.decode(

)soup = beautifulsoup(html,

'lxml'

)print

(soup.head)

print

(soup.body.h2)

print

(soup.findall(

'h2'

))

三、儲存目標資訊;將爬取的資訊按照自己的需要儲存為相應的**或是文字檔案

#儲存目標資訊,將資訊儲存至.csv,.txt等檔案中

import requests

from bs4 import beautifulsoup

import pandas as pd

url =

''r = requests.get(url)

html = r.text.encode(r.encoding)

.decode(

)soup = beautifulsoup(html,

'lxml'

)l =

[x.text for x in soup.findall(

'h2')]

#讀取中文資訊

df = pd.dataframe(l,columns =

['data'])

df.to_excel(

'爬蟲.xlsx'

)df.to_csv(

'爬蟲.csv'

)#通常訪問較大的資料

四、移至其他網頁爬取。1、批量進行網頁爬取,相關命令的作用在備註中進行了詳細的說明

#轉至其他網頁進行資料爬取

import requests

from bs4 import beautifulsoup

import pandas as pd

url =

''r = requests.get(url)

html = r.text.encode(r.encoding)

.decode(

)soup = beautifulsoup(html,

'lxml'

)l =

[x.text for x in soup.findall(

'h2')]

df = pd.dataframe(l,columns =

[url]

)links =

[i for i in soup.findall(

'a')\

if i.has_attr(

'href'

)and i.attrs[

'href'][

0:7]

=='/python'

]#print(soup)

relative_urls =

set(

[i.attrs[

'href'

]for i in links]

)#得到絕對路徑並轉換為集合的形式進行去重操作

#print(relative_urls)

absolute_urls =

#進行**拼接,獲取絕對路徑

absolute_urls.discard(url)

#去除第乙個**,因為我們前面已經爬取了該**的內容

for i in absolute_urls:

ri = requests.get(i)

htmli = ri.text.encode(ri.encoding)

.decode(

) soupi = beautifulsoup(htmli,

'lxml'

) li =

[x.text for x in soupi.findall(

'h2')]

dfi = pd.dataframe(li,columns =

[i])

df = df.join(dfi,how =

'outer'

)

df.to_csv(

'data.csv'

)#將最終爬取的全部結果儲存到名稱為data的.csv檔案

python爬取網頁資料

import refrom urllib.request import urlopen 爬取網頁資料資訊 def getpage url response urlopen url return response.read decode utf 8 defparsepage s ret re.find...

Python 簡單爬取網頁資料

爬取我的csdn網頁 import requests 時出現紅線,這時候,我們將游標對準requests,按快捷鍵 alt enter,pycharm會給出解決之道,這時候,選擇install package requests,pycharm就會自動為我們安裝了,我們只需要稍等片刻,這個庫就安裝好了...

python爬取網頁資料例項 一

coding utf 8 from lxml import etree import urllib2 import random import urlparse 設定網路 proxy info proxy support urllib2.proxyhandler openner urllib2.bu...