爬取大众点评22页餐馆名称

首先,装入requests库和beautiful soupimport requestsfrom 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%8Es...
摘要由CSDN通过智能技术生成

首先,装入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花厨(朝阳大
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值