我的第一篇部落格(從爬蟲開始)
自從自學ython到現在差不多三月有 餘,總感覺學了後面的,就會忘了前面的,特此開個部落格在這裡記錄一下,順便讓自己鞏固一下知識。
剛來第一天,也不知道弄什麼好,還是先來一個爬蟲爬取小姐姐的圖片吧(聽說這樣比較吸引點選…)
說到爬蟲,當然必須要用到requests,所以第一步當然是安裝了,安裝也很簡單,直接pip就行:
pip install requests
哦,忘記說了,我用的Python版本是3.7.9的,建議大家把Python換成3.5以上的吧。
今天我們的目標就是:站長之家
http://aspx.sc.chinaz.com/query.aspx?keyword=%E6%80%A7%E6%84%9F%E7%BE%8E%E5%A5%B3
我們先來分析一下網站,右鍵點選檢查,再點選原始碼,發現這是個靜態網頁,沒困難,直接搞起
我們需要用到一個parsel 庫,這個庫是scrapy的內建庫,裡面有各種查詢資料的方法,re,xpath,css等等都很有用,而且還能為以後學習scrapy提前參考一下,parsel下載也很簡單:
pip install parsel
import parsel
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3760.400 QQBrowser/10.5.4083.400'
}
url = 'http://aspx.sc.chinaz.com/query.aspx?keyword=性感美女'
html = requests.get(url,headers=headers).text
res = parsel.Selector(html)
url_list = res.xpath('//div[@class="imgload"]/div')
for urls in url_list:
link = urls.xpath('./div/a/@href').get()
print(link)
output:
http://sc.chinaz.com/tupian/150921398600.htm
http://sc.chinaz.com/tupian/190529039593.htm
http://sc.chinaz.com/tupian/150807092720.htm
http://sc.chinaz.com/tupian/150116595010.htm
http://sc.chinaz.com/tupian/190205506532.htm
http://sc.chinaz.com/tupian/170516393121.htm
http://sc.chinaz.com/tupian/190403392630.htm
http://sc.chinaz.com/tupian/180301072722.htm
http://sc.chinaz.com/tupian/140703076000.htm
....
順利拿到內容頁,繼續分析,方法同上,就不多說了,直接上程式碼:
content = requests.get(link,headers=headers)
content.encoding = "utf-8"
image_url = parsel.Selector(content.text)
for img in image_url.xpath('//div[@class="imga"]/a'):
# 提取圖片地址
images = img.xpath('./img/@src').get()
# 提取標題做圖片名稱
title = img.xpath('./@title').get()
print(images,title)
output:
http://pic.sc.chinaz.com/files/pic/pic9/201509/apic14867.jpg 漂亮性感美女圖片
http://pic.sc.chinaz.com/files/pic/pic9/201905/zzpic18256.jpg 歐美性感美女寫真圖片
http://pic.sc.chinaz.com/files/pic/pic9/201508/apic13697.jpg 美乳性感美女圖片
http://pic.sc.chinaz.com/files/pic/pic9/201501/apic8825.jpg 包廂性感美女圖片
http://pic.sc.chinaz.com/files/pic/pic9/201901/zzpic16191.jpg 個性性感美女圖片
http://pic.sc.chinaz.com/files/pic/pic9/201701/fpic10114.jpg 風塵性感美女圖片
http://pic.sc.chinaz.com/files/pic/pic9/201904/zzpic17359.jpg 抽菸性感美女圖片
http://pic.sc.chinaz.com/files/pic/pic9/201802/zzpic10593.jpg 超性感美女寫真圖片
http://pic.sc.chinaz.com/files/pic/pic9/201406/apic4601.jpg 妖嬈性感美女圖片
.....
圖片與名字都拿到了,下一步就是講這些全部下載到本地,然後有時間再慢慢看咯,全部程式碼奉上:
import parsel
import requests
for page in range(1,21): # 爬取20頁
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3760.400 QQBrowser/10.5.4083.400'
}
url = f'http://aspx.sc.chinaz.com/query.aspx?keyword=性感美女&issale=&classID=0&navindex=0&page={page}'
html = requests.get(url,headers=headers).text
res = parsel.Selector(html)
url_list = res.xpath('//div[@class="imgload"]/div')
for urls in url_list:
link = urls.xpath('./div/a/@href').get()
content = requests.get(link,headers=headers)
content.encoding = "utf-8"
image_url = parsel.Selector(content.text)
for img in image_url.xpath('//div[@class="imga"]/a'):
# 提取圖片地址
images = img.xpath('./img/@src').get()
# 提取標題做圖片名稱
title = img.xpath('./@title').get()
print("正在下載",images)
# 定義下載到何處
filename = title + ".jpg"
image = requests.get(images)
with open("./images/" + filename,"wb") as f:
f.write(image.content)
可以優化的地方還有很多,可以做的更加靈活,暫時就先這樣吧
相關文章
- 01、部落格爬蟲爬蟲
- 我的部落格生涯開始了
- 每天一個爬蟲-learnku我的部落格列表爬蟲
- 從零開始的爬蟲專案(一)爬蟲
- 從零開始的個人技術部落格
- VuePress從零開始搭建自己的部落格Vue
- 【從零開始學爬蟲】建立模板爬蟲
- 從零開始搭建部落格系列
- 從零開始的Python爬蟲速成指南Python爬蟲
- 從零開始搭建一個 hexo 部落格。Hexo
- 【從零開始學爬蟲】對任務的操作爬蟲
- python爬蟲爬取csdn部落格專家所有部落格內容Python爬蟲
- 從零開始寫一個node爬蟲(一)爬蟲
- 從現在開始,這是一個IT部落格。
- PYTHON系列-從零開始的爬蟲入門指南Python爬蟲
- 【從零開始學爬蟲】模板的高階選項爬蟲
- 【爬蟲工具】下載部落格轉成Markdown的形式爬蟲
- 人生第一篇部落格,從這裡開始,記錄C++記憶體池的學習C++記憶體
- 《從零開始學Python網路爬蟲》概要Python爬蟲
- Python爬蟲學習之旅-從基礎開始Python爬蟲
- [雪峰磁針石部落格]python爬蟲cookbook1爬蟲入門Python爬蟲
- 【從零開始學爬蟲】模板的複製與貼上爬蟲
- 分享5個爬蟲專業部落格網站爬蟲網站
- 【爬蟲】利用Python爬蟲爬取小麥苗itpub部落格的所有文章的連線地址(1)爬蟲Python
- 從零開始學爬蟲(3):通過MongoDB資料庫獲取爬蟲資料爬蟲MongoDB資料庫
- Python超簡單超基礎的免費小說爬蟲!爬蟲入門從這開始!Python爬蟲
- 第一篇部落格
- 我的部落格
- 從今天開始,拿起VuePress打造屬於自己的專屬部落格Vue
- 從零開始,如何用puppeteer寫一個爬蟲指令碼爬蟲指令碼
- 從 0 開始搭建一個技術部落格,私藏乾貨~
- 開始編寫自己的技術部落格...
- 我的爬蟲史爬蟲
- 我是怎麼處理其他網站惡意爬蟲部落格園的,希望大家喜歡網站爬蟲
- 你好,我的部落格!
- 【Python】從0開始寫爬蟲——轉身扒豆瓣電影Python爬蟲
- 【從零開始學爬蟲】採集全國高校導師資料爬蟲
- 【從零開始學爬蟲】採集收視率排行資料爬蟲