大众点评爬虫python
时间: 2023-12-06 17:04:21 浏览: 181
根据提供的引用内容,大众点评爬虫的实现需要经过以下几个步骤:
1. 请求网页数据:使用requests库向目标网站发送请求,获取网页数据。
2. 解析网页数据:使用pyquery库对网页数据进行解析,定位需要的数据。
3. 存储数据:使用csv库将数据存储到csv文件中。
下面是一个简单的大众点评爬虫Python代码示例:
```python
import requests
from pyquery import PyQuery as pq
import csv
# 请求网页数据
def get_html(url):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.text
else:
return None
# 解析网页数据
def parse_html(html):
doc = pq(html)
items = doc('.shop-list .txt').items()
for item in items:
name = item('.tit h4').text()
star = item('.comment span').attr('title')
address = item('.tag-addr .addr').text()
yield {
'name': name,
'star': star,
'address': address
}
# 存储数据
def save_to_csv(data):
with open('dianping.csv', 'a', encoding='utf-8-sig', newline='') as f:
fieldnames = ['name', 'star', 'address']
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writerow(data)
# 主函数
def main():
for i in range(1, 51):
url = 'http://www.dianping.com/shanghai/ch10/p{}'.format(i)
html = get_html(url)
if html:
results = parse_html(html)
for result in results:
save_to_csv(result)
print(result)
if __name__ == '__main__':
main()
```
该代码实现了爬取大众点评上上海地区的餐厅信息,并将餐厅名称、评分和地址存储到csv文件中。
阅读全文
相关推荐
















