天善智慧型網路爬蟲學習

2021-08-03 15:50:47 字數 2903 閱讀 6806

#榜單-top100,通過改變offset=10、20...這個引數實現翻頁

#1、抓取單頁內容:利用requests請求目標站點,得到單個網頁html**,返回結果

#3、儲存至檔案:通過檔案的形式結果儲存,每一部電影乙個結果一行json字串

#4、開啟迴圈及多執行緒:對多頁內容遍歷,開啟多執行緒提高抓取速度

import requests

import re

from requests.exceptions import requestexception

def get_one_page(url):

try:

response = requests.get(url)

if response.status_code == 200:

return response.text

return none

except requestexception:

return none

def main():

url = ''

html = get_one_page(url)

print(html)

if __name__ == '__main__':

main()

列印出的結果:10部電影

10千與千尋

主演:柊瑠美,入野自由,夏木真理

9.3  

#8

##9.2

#匹配排序8,匹配、標題、主演、時間、評分

def parse_one_page(html):

pattern = re.compile('.*?board-index.*?>(\d+).*?data-src="(.*?)".*?name">(.*?).*?star">(.*?)

.*?releasetime">(.*?)

' +'.*?integer">(.*?).*?fraction">(.*?).*?',re.s)

#re.s表示匹配任意字元,若不加re.s則不能匹配換行符

items = re.findall(pattern, html)

print(items)

def main():

url = ''

html = get_one_page(url)

parse_one_page(html)

if __name__ == '__main__':

main()

列印出來的結果:

#re.s表示匹配任意字元,若不加re.s則不能匹配換行符

f.write(json.dumps(content) + '\n')#字典轉換成字串

f.close()

def main():

url = ''

html = get_one_page(url)

for item in parse_one_page(html):

print(item)

write_to_file(item)

路徑在這:

/users/****/documents/wangyiyun/result.txt      但都是unicode編碼了,

def write_to_file(content):

with open('result.txt', 'a',encoding = 'utf-8') as f:

f.write(json.dumps(content,ensure_ascii = false) + '\n')#字典轉換成字串

f.close()

這樣就好了

if __name__ == '__main__':

for i in range(10):

main(i * 10)#構造offset=0,10,20...90

pool = pool()#構建程序池

pool.map(main,[i * 10 for i in range(10)])#將主流的函式拿出來作為乙個個引數,拿到執行緒池裡面執行

多執行緒,可快啦!

爬蟲專案實戰1 爬取天善課程

參考自課程 專案內容 爬取天善智慧型學院課程的名稱 講師 專案工具 re,requests 專案 time 2020 4 1 20 32 author w file 爬取天善課程.py software pycharm import re import requests 利用for迴圈實現相似網頁的...

網路爬蟲學習(八)

本期來學習下正規表示式,之前學習了requests模組 模組相比urllib模組,在很多方面都顯得非常簡潔,可以說是urllib模組的乙個昇華。那麼什麼是正規表示式呢?簡單來說,正規表示式是對字串操作的一種邏輯公式,就是事先定義好的一些特定字元 及這些特定字元的組合,組成乙個 規則字串 這個 規則字...

Python網路爬蟲學習

最近有時間學習在慕課網上跟著嵩天老師上他的python網路爬蟲與資訊提取這門課,想著可以寫些部落格將學的爬蟲知識總結起來。win平台下 前提是安裝好python,在cmd中執行 pip installl requests 其他方法的話可以在網上搜尋。r requests.get url 其中get返...