需要用到的库:requests,re,xpath
首先打开随便一个贴吧:贴吧首页
通过观察发现每一个帖子的链接是这样的:帖子链接
我们只需要获取后面灰色部分就可以了,点击f12 按ctrl+f 找到链接:帖子链接
拼接完整的链接: url="https://tieba.baidu.com/p/"+i#完整链接
贴吧信息海量,获取指定页数,翻扫第二页可以看到pn=50,把第一页的链接也改成pn=0翻页链接
构造所有翻页链接:
下面给出完整代码:
import requests,re
from lxml import etree
ky=input("请输入要查询的关键词:" )
page=input("请输入要查询的页数:" )
for page in range(0,int(page)):
k=page*50
response=requests.get("https://tieba.baidu.com/f?ie=utf-8&kw={}&pn={}".format(ky,k))
ref=re.compile('{"id":(.*?),')#获取链接
reg=re.findall(ref,response.text)
for i in reg:
url="https://tieba.baidu.com/p/"+i#完整链接
response=requests.get(url)
selector=etree.HTML(response.text)
ref=selector.xpath(r'//*[@id="j_core_title_wrap"]/h3/text()')#楼主问题题目
for i in ref:
print(i,"\n",":")
ref=re.compile('name="description" content="(.*?)"')#问题具体内容
reg=re.findall(ref,response.text)
for o in reg:
print("【",i,"】")
ref=re.compile('style="display:;">(.*?)
reg=re.findall(ref,response.text)
for i in reg:
print("{",i,"}")