第一个简单的爬虫---美女图片

import requests
from bs4 import BeautifulSoup

res = requests.get\
    ("http://pic.sogou.com/pics/recommend?category=%C3%C0%C5%AE&from=webvr#%E8%90%9D%E8%8E%89")
soup = BeautifulSoup(res.text,'html.parser')
print(soup.select('img'))

res变量:存储链接的网页所有内容

res.text :提取网页的文本内容

html.parser: 以一定的格式解析网页内容

soup.select( ):CSS选择器, 我们使用CSS选择器来寻找符合要求的数据。找到的数据,返回为list类型,寻找到的                        是所有符合要求的数据

soup.select('img')// css里img标签里的信息
print soup.select('div')// 直接返回div标签所有的内容

运行结果:

[<img alt="搜狗图片" src="/news/images/[email protected]" srcset="/news/images/[email protected] 2x"/>, <img class="st-load" src="">

</img>]

结果没发现图片的URL。。。

检查网页元素,选 Network, XHR , 对应Name, 观察Headers 和 priview的信息 和规律:



import requests
import urllib
from bs4 import BeautifulSoup
import json

def getImgs(length,path):  //爬取个数,下载到本地的路径   
    imgs = requests.get(
'http://pic.sogou.com/pics/channel/getAllRecomPicByTag.jsp?category=%E7%BE%8E%E5%A5%B3&tag=%E8%90%9D%E8%8E%89&start=15&len=15') jd = json.loads(imgs.text) jd = jd['all_items'] imgs_url = [] for j in jd: imgs_url.append(j['bthumbUrl']) m = 0 for img_url in imgs_url: print( str(m) + '.jpg ' + ' Downloading...') urllib.request.urlretrieve(img_url, path + str(m) + '.jpg') m = m + 1 print('Download complete!')getImgs( 20, 'F:/yang/sougouImgs/')

运行结果:



虽然长度定为20,但是前面一个页面只有15张,所以只能下载15张



再返回到网页检查部分  发现 start 的规律 15, 30 , 45 ....

更改的待续。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章