首页 / 爬虫 / python爬虫,百度贴吧(巴塞罗那)
python爬虫,百度贴吧(巴塞罗那)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python爬虫,百度贴吧(巴塞罗那),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1533字,纯文字阅读大概需要3分钟。
内容图文
![python爬虫,百度贴吧(巴塞罗那)](/upload/InfoBanner/zyjiaocheng/595/2fd3e030fa4347128417a6d4329a54aa.jpg)
coding=utf-8
“”"
author:lei
function:
“”"
import requests
from lxml import etree
import json
class TieBaBaSa(object):
def __init__(self, name):
self.url = "https://tieba.baidu.com/f?ie=utf-8&kw={}".format(name)
self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"}
def get_data(self, url):
response = requests.get(url, headers=self.headers).content.decode()
return response.replace("<!--", "").replace("-->", "")
def parse_data(self, data):
html = etree.HTML(data)
el_list = html.xpath('''//ul[@id='thread_list']//li//div[@class="col2_right j_threadlist_li_right"]
‘’’)
if len(el_list) == 0:
el_list = html.xpath(’’’//ul[@id=‘thread_list’]//li//div[@class="col2_right j_threadlist_li_right "]’’’)
print(el_list)
data_list = []
for el in el_list:
temp = {}
temp["title"] = el.xpath("./div/div/a/text()")[0]
temp["writer"] = el.xpath("./div/div[2]/span/@title")[0]
# temp["content"] = el.xpath("./div/div/div[2]/text()")
# print(temp)
data_list.append(temp)
next_url = "https:" + html.xpath("//a[contains(text(), '下一页>')]/@href")[0]
return data_list, next_url
def save_data(self, data_list):
with open("tieba.json", "a", encoding="utf-8") as f:
f.write(json.dumps(data_list, ensure_ascii=False))
print("保存成功!")
def run(self):
next_url = self.url
while True:
data = self.get_data(next_url)
data_list, next_url = self.parse_data(data)
self.save_data(data_list)
if next_url is None:
break
if name == ‘main’:
tieba = TieBaBaSa(“巴塞罗那”)
tieba.run()
内容总结
以上是互联网集市为您收集整理的python爬虫,百度贴吧(巴塞罗那)全部内容,希望文章能够帮你解决python爬虫,百度贴吧(巴塞罗那)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。