#榜單-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返...