日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python输入数据爬取_python根据用户需求输入想爬取的内容及页数爬取图片方法详解...

發(fā)布時(shí)間:2023/12/4 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python输入数据爬取_python根据用户需求输入想爬取的内容及页数爬取图片方法详解... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本次小編向大家介紹的是根據(jù)用戶(hù)的需求輸入想爬取的內(nèi)容及頁(yè)數(shù)。

主要步驟:

1.提示用戶(hù)輸入爬取的內(nèi)容及頁(yè)碼。

2.根據(jù)用戶(hù)輸入,獲取網(wǎng)址列表。

3.模擬瀏覽器向服務(wù)器發(fā)送請(qǐng)求,獲取響應(yīng)。

4.利用xpath方法找到圖片的標(biāo)簽。

5.保存數(shù)據(jù)。

代碼用面向過(guò)程的形式編寫(xiě)的。

關(guān)鍵字:requests庫(kù),xpath,面向過(guò)程

現(xiàn)在就來(lái)講解代碼書(shū)寫(xiě)的過(guò)程:

1.導(dǎo)入模塊

import parsel # 該模塊主要用來(lái)將請(qǐng)求后的字符串格式解析成re,xpath,css進(jìn)行內(nèi)容的匹配

import requests # 爬蟲(chóng)主要的包

from urllib.request import urlretrieve # 本文用來(lái)下載圖片

import os # 標(biāo)準(zhǔn)庫(kù),本文用來(lái)新建文件夾

每個(gè)模塊的作用都已經(jīng)備注了。

2.提示用戶(hù)輸入內(nèi)容和頁(yè)數(shù)

if not os.path.exists("王一博圖片"):

os.mkdir("王一博圖片") # 判斷有沒(méi)有該文件夾,如果沒(méi)有就創(chuàng)建改文件夾

k = input("請(qǐng)輸入你想搜索的關(guān)鍵字:")

num = int(input("請(qǐng)輸入你想搜索的頁(yè)數(shù):"))

3.準(zhǔn)備好url和header

header = {"user-agent":

"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Mobile Safari/537.36"

}

base_url = "https://www.duitang.com/search/?kw=" + k + "&type=feed#!s-p"

title_url = []

n = 0

user-agent是服務(wù)器識(shí)別瀏覽器的重要參數(shù),我們就用這個(gè)來(lái)蒙騙服務(wù)器,user-agent在瀏覽器里可以找到

那么現(xiàn)在我們就關(guān)注右邊

這樣header就找到了,注意要以字典的形式

4.發(fā)送請(qǐng)求、

for i in range(num):

title_url = base_url + str(i)

respons = requests.get(title_url, headers=header).text

html = parsel.Selector(respons) # 解析數(shù)據(jù) -- parsel 轉(zhuǎn)化為Selector對(duì)象,Selector對(duì)象具有xpath的方法,能夠?qū)D(zhuǎn)化的數(shù)據(jù)進(jìn)行處理

pic_url = html.xpath('//div[@class="mbpho"]/a/img/@src').extract()

一切準(zhǔn)備就緒后,就可以發(fā)送請(qǐng)求了。request.get.text返回的是網(wǎng)頁(yè)的源代碼,然后將源代碼轉(zhuǎn)換為Selector對(duì)象,再通過(guò)xpath的方法找到圖片的網(wǎng)址。

5.保存數(shù)據(jù)

獲取圖片的圖片的鏈接后,我們就可以保存了。

for url in pic_url:

n = n + 1

file_path = "王一博圖片" + '/' + str(n)+".jpg"

urlretrieve(url, file_path) # 下載圖片,具體的用法可以去搜索下,很簡(jiǎn)單的

print("第%d張圖片下載成功" % n)

注意:這里的for循環(huán)是在上面的循環(huán)里嵌套的。

最后來(lái)看看全部的代碼吧!

import parsel # 該模塊主要用來(lái)將請(qǐng)求后的字符串格式解析成re,xpath,css進(jìn)行內(nèi)容的匹配

import requests

from urllib.request import urlretrieve # 本文用來(lái)下載圖片

import os # 標(biāo)準(zhǔn)庫(kù),本文用來(lái)新建文件夾

if not os.path.exists("王一博圖片"):

os.mkdir("王一博圖片") # 判斷有沒(méi)有該文件夾,如果沒(méi)有就創(chuàng)建改文件夾

k = input("請(qǐng)輸入你想搜索的關(guān)鍵字:")

num = int(input("請(qǐng)輸入你想搜索的頁(yè)數(shù):"))

header = {"user-agent":

"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Mobile Safari/537.36"

}

base_url = "https://www.duitang.com/search/?kw=" + k + "&type=feed#!s-p"

title_url = []

n = 0

for i in range(num):

title_url = base_url + str(i)

respons = requests.get(title_url, headers=header).text

html = parsel.Selector(respons)

pic_url = html.xpath('//div[@class="mbpho"]/a/img/@src').extract()

# print(pic_url)

for url in pic_url:

n = n + 1

file_path = "王一博圖片" + '/' + str(n)+".jpg"

urlretrieve(url, file_path) # 下載圖片,具體的用法可以去搜索下,很簡(jiǎn)單的

print("第%d張圖片下載成功" % n)

來(lái)看看運(yùn)行的結(jié)果,以搜索王一博,搜索5頁(yè)為例。

然后你就發(fā)信多了一個(gè)王一博的文件夾了,點(diǎn)開(kāi)就可以看見(jiàn)王一博的帥照了。

到此這篇關(guān)于python根據(jù)用戶(hù)需求輸入想爬取的內(nèi)容及頁(yè)數(shù)爬取圖片方法詳解的文章就介紹到這了,更多相關(guān)python爬取圖片方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

總結(jié)

以上是生活随笔為你收集整理的python输入数据爬取_python根据用户需求输入想爬取的内容及页数爬取图片方法详解...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。