简单的python爬虫实例
生活随笔
收集整理的這篇文章主要介紹了
简单的python爬虫实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目標網站:https://www.quanjing.com/category/1286521/2.html
爬取搜索出來的所有“中東人”的圖片:
先看一下源代碼,找到存放圖片鏈接的地方,在源代碼最下面的部分:
先說一下思路:
構造url列表=》依次爬取每個頁面=》先在網頁源代碼中找到存放圖片鏈接的地方=》獲取到這一地方的文本=》正則匹配出每個頁面中每張圖片的鏈接=》存儲每張圖片
來看爬取的代碼:
import requests import re from bs4 import BeautifulSoupaddress = "https://www.quanjing.com/category/1286521/" url_list = [] #用于存儲,每個頁面的url列表 pipei = re.compile('<img.*?lowsrc="(.*?)"') #構造正則表達式,用于下面匹配出每張圖片的鏈接# 構造url def get_url_list():for i in range(1, 3): #規定爬取到的頁數,這里爬取到第二頁url = address + str(i) + '.html'url_list.append(url)return url_listdef run():y = 1i = 0for url in get_url_list(): #這個循環用于依次爬取頁面html = requests.get(url=url).text #請求頁面soup = BeautifulSoup(html, 'lxml') divs = str(soup.find_all(attrs={"class": "list"})) #獲取存放鏈接的那一部分文本,并轉換為字符串,正則必須是字符串類型要不不能進行匹配lianjies = re.findall(pipei, divs) #匹配到一個頁面中每一張圖片的鏈接,以列表的形式返回for lianjie in lianjies: #這個循環用于存儲頁面中的每一張圖片result = requests.get(url=lianjie).content with open('E:\py project\quanjingwang\image\{}.jpg'.format(i), 'wb') as f:f.write(result)i += 1print("第{0}張存儲完成".format(i))print("第{0}頁爬取完成".format({y}))y += 1if __name__ == '__main__':run()?代碼不難,但爬取速度有點慢,后面試著改成多線程。。。(ps:太菜了,若文章有錯誤,歡迎大佬隨時指正。。)
轉載于:https://www.cnblogs.com/liangxiyang/p/11045045.html
總結
以上是生活随笔為你收集整理的简单的python爬虫实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python基础面试题整理---从零开始
- 下一篇: Python学习笔记(二)——Hello