码迷,mamicode.com
首页 > 其他好文 > 详细

BeautifuSoup库爬取美女图片

时间:2019-12-09 19:19:57      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:request对象   bs4   很多   href   follow   soup   odi   def   lin   

爬虫模块(从网页上采集数据 数据放置在网页标签里面)
1.requests2.BeautifuSoup3.urllib4.urllib25.scrapy6.lxml
爬取步骤
1.获取标签的内容
数据 :<div> <title> <a> ....
找到标签里面的内容 soup.div

2.打开网页获取文件的内容
soup.prettify() //打印本地文件的内容

3.html源代码相同标签很多,怎么获取到我想要的那一部分内容
网页名字 class id find:查找标签
e = soup.find("div",class_="a").txt class是关键词 所以要放置下划线

区分点:
find() find_all() 都是查找标签里面的内容 python 3.x print后面要加括号
在python3中,urllib2合并到urllib库中

字符串格式化的作用(为真实的值保留一个位置)

* coding:utf-8 *

from bs4 import BeautifulSoup #从网页抓取数据
import urllib3,urllib.request
x = 0;
urls = [‘https://www.buxiuse.com/?page={}‘.format(str(i)) for i in range(5,11)]
for url in urls:
def crawl(url): # 模拟浏览器 加上headers
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"}
req = urllib.request.Request(url, headers=headers) # 用地址创建一个request对象
page = urllib.request.urlopen(req, timeout=20) # 打开网页
contents = page.read() # 获取源码
soup = BeautifulSoup(contents, features="lxml")
my_girl = soup.find_all(‘img‘)
for girl in my_girl:
link = girl[‘src‘]
global x
urllib.request.urlretrieve(link, "image\%s.jpg" % x) # 下载
print("爬取完第" + str(x) + "张")
x += 1
crawl(url)

BeautifuSoup库爬取美女图片

标签:request对象   bs4   很多   href   follow   soup   odi   def   lin   

原文地址:https://blog.51cto.com/13550695/2457080

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!