首先,装入requests库和beautiful soup
import requests
from bs4 import BeautifulSoup
先爬取第一页的数据,将初始url设置为搜索页的第一页:http://www.dianping.com/search/keyword/2/10_%E6%9C%9D%E9%98%B3%E5%A4%A7%E6%82%A6%E5%9F%8E
start_url = 'http://www.dianping.com/search/keyword/2/10_%E6%9C%9D%E9%98%B3%E5%A4%A7%E6%82%A6%E5%9F%8E'
然后通过chrome的检查功能,找到网页的对应的user-agent 和host,按照这个headers 来修改requests的请求头部;如果网速慢的话,就不要设置timeout参数了。
headers = {
'user-agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
}
r = requests.get(start_url, headers = headers )
通过请求,获得服务器的反馈。然后使用美丽汤,将r.text 做成汤,便于后续的数据查找;
soup = BeautifulSoup(r.text,'html.parser')
做成汤之后,使用美丽汤的find_all函数:观察原网页的html代码发现,所有店名都在h4的标签中,因此利用美丽汤的find_all函数,找到所有标签为h4的对象,获得一个返回的列表。
name_list = soup.find_all('h4')
将列表打印出来之后发现,有一些不需要的内容页在其中,因此对列表进行切片,最后获得的列表只有店铺的名称和tag。
i in name_list:
print(i)
for i in name_list:
print(i)
#打印结果
<h4>频道:</h4>
<h4>分类:</h4>
<h4>地点:</h4>
<h4>Tomacado花厨(朝阳大悦城店)</h4>
<h4>局气(大悦城店)</h4>
<h4>马路边边串串香(朝阳大悦城店)</h4>
<h4>外婆家(朝阳大悦城店)</h4>
<h4

使用Python的requests和BeautifulSoup库,详细介绍了如何爬取大众点评上关于‘长春大悦城’的22页餐厅名称。通过设置headers模拟浏览器请求,解析HTML找到h4标签内的店铺名字,并通过观察URL规律实现翻页爬取。最终成功获取并输出了部分餐厅的名称。
1875

被折叠的 条评论
为什么被折叠?



