第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

python爬蟲(chóng)取圖片詳解

標(biāo)簽:
Python

接下来会依次准备三个案例(如果要把每一个点都精通的话大约要花费一个月,我说的精通是指自己将代码不用查资料写出来,以下暂未整理):
import requests,threading#多线程处理与控制
from lxml import etree
from bs4 import BeautifulSoup
#获取源码
def get_html(url):
url='http://www.doutula.com/?qqdrsign=01495'
#获取网络地址,但这个地方写死了,怎么办呢,因为我们还没有做多页
headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36'}
#上一步是模拟浏览器信息,固定格式,可记下来
request=requests.get(url=url,headers=headers)#对网址发送一个get请求
response=request.content#获取源码,比test稍微好一点
#print(response)
return response
#接下来是获取外页,即图片自身的源码
def get_img_html(html):
soup=BeautifulSoup(html,'lxml')#解析网页方式,自带html.pparser
all_a=soup.findall('a',class='list-group-item randomlist')#class是关键字所以此处加
for i in all_a:
print(i)#i是指<a class="list-group-item random_list" ])#是用来获取超链接这一部分源码
print(img_html)
#http://www.doutula.com/article/list/?page=2
a=get_html(1)
get_img_html(a)
好了,我们已经可以获取一部分的源码了,这样,我们接下来的工作是开始做多页

import requests,threading#多线程处理与控制
from lxml import etree
from bs4 import BeautifulSoup
#获取源码
def get_html(url):
#url='http://www.doutula.com/?qqdrsign=01495'#获取网络地址,但这个地方写死了,怎么办呢,因为我们还没有做多页
headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36'}
#上一步是模拟浏览器信息,固定格式,可记下来
request=requests.get(url=url,headers=headers)#对网址发送一个get请求
response=request.content#获取源码,比test稍微好一点
#print(response)
return response
#接下来是获取外页,即图片自身的源码
def get_img_html(html):
soup=BeautifulSoup(html,'lxml')#解析网页方式,自带html.pparser
all_a=soup.findall('a',class='list-group-item randomlist')#class是关键字所以此处加
for i in all_a:
print(i)#i是指<a class="list-group-item random_list" ])#是用来获取超链接这一部分源码
print(img_html)
#http://www.doutula.com/article/list/?page=2
def main():
start_url='http://www.doutula.com/article/list/?page='
for i in range(1,10):
start_html=get_html(start_url.format(i))#将前十页的页数传递进来,来获取前十页源码
get_img_html(start_html)#来获取图片所在的链接源码

main()
最后是总的源码:
import requests,threading#多线程处理与控制
from lxml import etree#解析方式,直接找到里面的内容
from bs4 import BeautifulSoup
#获取源码
def get_html(url):
#url='http://www.doutula.com/?qqdrsign=01495'#获取网络地址,但这个地方写死了,怎么办呢,因为我们还没有做多页
headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36'}
#上一步是模拟浏览器信息,固定格式,可记下来
request=requests.get(url=url,headers=headers)#对网址发送一个get请求
response=request.content#获取源码,比test稍微好一点
#print(response)
return response
#接下来是获取外页,即图片自身的源码
def get_img_html(html):
soup=BeautifulSoup(html,'lxml')#解析网页方式,自带html.pparser
all_a=soup.findall('a',class='list-group-item randomlist')#class是关键字所以此处加
for i in all_a:
#print(i)#i是指<a class="list-group-item random_list" ])#是用来获取超链接这一部分源码
get_img(img_html)
#print(img_html)
#http://www.doutula.com/article/list/?page=2
#获取图片的url:
def get_img(html):soup=etree.HTML(html)#解析之前的初始化,自动修正代码的
items=soup.xpath('//div[@class=" artile_des"]')#@是用来选取属性,找到相应盒子
br/>imgurl_list=item.xpath('table/tbody/tr/td/a/img/@onerror')#onerror这个是所需要的属性,很重要<br <="" a="">start_save_img(imgurl_list)
#print(imgurl_list)
#start_save_img(imgurl_list)
#上处已找到图片
#接下来是下载by多线程
x=1#设置命名
#拼接完整链接,文件open
def save_img(img_url):
global x #设置全局变量
x+=1
img_url=img_url.split('=')[-1][1:-2].replace('jp','jpg')
print("正在下载"+'http:'+img_url)
img_content=requests.get(img_url).content
with open('doutu/%s.jpg'% x,'wb') as f:
f.write(img_content)
print('已打印第%s张图片'%x);="">

imgurl_list=item.xpath('table/tbody/tr/td/a/img/@onerror')#onerror这个是所需要的属性,很重要
#打造多线程
def start_save_img(imgurl_list):
for i in imgurl_list:
print(i)
th=threading.Thread(target=save_img,args=(i,))
th.start()
def main():
start_url='http://www.doutula.com/article/list/?page='
for i in range(1,10):
start_html=get_html(start_url.format(i))#将前十页的页数传递进来,来获取前十页源码
get_img_html(start_html)#来获取图片所在的链接源码

if name=='main':
main()
未完待续,后期会有改进

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消