python爬取贴吧数据_爬取百度贴吧数据(练习Python爬虫)

爬取百度贴吧数据(Python)

1.总代码:

from urllib.request import Request, urlopen

from urllib.parse import quote

def get_html(html):

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0"

}

request = Request(html, headers=headers)

response = urlopen(request)

return response.read().decode()

def save_html(html,filename):

with open(filename,'w',encoding='utf-8') as f:

f.write(html)

def main():

content = input("请输入想要获取哪个贴吧:")

num = int(input("请输入想要获取多少页:"))

for i in range(num):

url = 'https://tieba.baidu.com/f?fr=ala0&kw='+quote(content)+'&tpl={}'.format(i * 50)

html = get_html(url)

filename = '第'+ str(i+1) +'页.html'

save_html(html,filename)

if __name__ == '__main__':

main()

2.分步解析代码

思路:

1.爬取页面,需要有main方法作为入口,需要获取页面方法(get_html)和保存页面方法(save_html)

2.在get_html方法中设定请求头(header)以达到避免页面发现爬虫痕迹;response响应读取返回页面的html代码。

3.在save_html方法中以写的方式将爬取到的页面代码写入自定义的filename文件中

4.在main方法中接收需要的数据,在字符串拼接的过程中注意:要哪个页面(eg:百度贴吧、python)-->然后通过quote进行文字转换成指定字符串; 添加页码(以format的形式进行接收)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值