怎么使用python爬虫论坛
创始人
2024-11-19 04:42:53
0次

库:requests,re,selenium,time

具体步骤:

一、搜索贴吧

准备一个自己想要爬取的内容

二、显示贴吧首页的帖子

要提取发帖人的名字和帖子主题,选择用正则表达式来实现,具体代码如下:

titles = re.findall('

三、查看某一个帖子

通过观察网页源码,可以用正则表达式匹配到这部分回复,然后对于这些回复,也要进行处理后再显示出来。

comment_list2 = re.findall('post_bubble_middle_inner">(.*?)', ' ').replace('
', ' ')

具体源码如下:

import requests
 import time
  import re
 from selenium import webdriver
 
 headers = {
 "user-agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/"
  "53.0.2785.89 Safari/537.36"
 }
  
 
  class TieBa:
  def __init__(self, name, url):
  self.name = name # 贴吧名
 self.url = url # 贴吧首页的url
 
  # 显示首页上的帖子作者和标题
 def get_homepage(self):
  print("\n\t\t\t\t\t\t{}吧".format(self.name))
 res = requests.get(self.url, headers=headers)
 titles = re.findall('(.*?)<', res.text)
  comment_list = re.findall('content clearfix">(.*?)
', res.text, re.DOTALL)   if len(comment_list) == 0:   comment_list = re.findall('d_post_content j_d_post_content ">(.*?)
', res.text, re.DOTALL)    # 带回复框的单独考虑   comment_list2 = re.findall('post_bubble_middle_inner">(.*?)', ' ')   if "', ' ').replace('
', ' ')   num += 1   if "src" in comment: # 处理图片信息   src_list = re.findall('src="(.*?)"', comment)  pattern_list = re.findall('()', comment)   for s, p in zip(src_list, pattern_list):   comment = comment.replace(p, ' ' + s)   if "href" in comment: # 处理表情信息   pattern_list = re.findall('()', comment)  for p in pattern_list:   comment = comment.replace(p, ' ').replace("", '')  print(comment)      while True:  x = int(input("\n输入1查看下一页,输入0回到首页,输入-1退出程序:"))   if x == -1:   exit()   if x == 0:   self.get_homepage()   if x == 1:   next_page = re.findall('下一页', res.text)   if len(next_page)>0:   self.get_page("http://tieba.baidu.com" + next_page[0])   else:   print("已经是最后一页了!")       # 利用selenium模拟浏览器查找贴吧   def search():   chrome_options = webdriver.ChromeOptions()   chrome_options.add_argument('--headless')   browser = webdriver.Chrome(chrome_options=chrome_options)     browser.get("https://tieba.baidu.com/")   name = input("请输入想要进入的贴吧名字:")   browser.find_element_by_xpath('//*[@id="wd1"]').send_keys(name)   browser.find_element_by_xpath('//*[@id="tb_header_search_form"]/span[1]/a').click()  url = browser.current_url  if "tieba.baidu.com/f?ie=utf-8" in url: # 搜索的贴吧存在   print("正在进入{}吧,请稍等...".format(name))   time.sleep(2)   t = TieBa(name, url)   t.get_homepage()   else:   print("没有找到{}吧\n".format(name))   main()        def main():  x = int(input("输入1搜索进入贴吧,输入-1退出程序:"))   if x == 1:   search()   else:  exit()    if __name__ == '__main__': main()

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...