python 爬虫热搜_python百度热搜榜爬取

# terminal中安装库 bs4 requests

# pip install bs4 requests

import requests

from bs4 import BeautifulSoup

import bs4

def get_html(url,headers):

r = requests.get(url,headers=headers)

r.encoding = r.apparent_encoding

return r.text

def get_pages(html):

global s

soup = BeautifulSoup(html,'html.parser')

all_topics=soup.find_all('tr')[1:]

for each_topic in all_topics:

#print(each_topic)

topic_times = each_topic.find('td',class_='last')#搜索指数

topic_rank = each_topic.find('td',class_='first')#排名

topic_name = each_topic.find('td',class_='keyword')#标题目

if topic_rank != None and topic_name!=None and topic_times!=None:

topic_rank = each_topic.find('td',class_='first').get_text().replace(' ','').replace('\n','')

topic_name = each_topic.find('td',class_='keyword').get_text().replace(' ','').replace('\n','')

topic_times = each_topic.find('td',class_='last').get_text().replace(' ','').replace('\n','')

#print('排名:{},标题:{},热度:{}'.format(topic_rank,topic_name,topic_times))

tplt = "排名:{0:^4}\t标题:{1:{3}^15}\t热度:{2:^8}"

print(tplt.format(topic_rank,topic_name,topic_times,chr(12288)))

s=s+topic_name.replace('search','')+'\n'

url = 'http://top.baidu.com/buzz?b=1&fr=20811'

headers= {'User-Agent':'Mozilla/5.0'}

html = get_html(url,headers)

s = ''

get_pages(html)

with open('百度热榜.txt','w',encoding='utf-8') as f:

f.write(s)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值