论坛爬虫爬取tid,title,uid

自己编写的练习爬虫代码,希望对大家思路有帮助,技术欠佳,正在练习。加油!!

# -*- codeing = utf-8 -*-
# @Time : 2021/8/10 16:56
# @Author : yz
# @File : 论坛2.py
# @Software : PyCharm
# 引入request库, requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多
import requests
from lxml import etree
import re


def main():
    head()
    url = "http://114.112.74.132:8089/forum.php?mod=viewthread&tid="
    askurl(url)


findUid = re.compile(r'uid=(\d+)')
max_tid = 5846

########判断url是否合法,是否可连通,HTTP状态码是否为200
def get_url_content(url):
    response = requests.get(url)
    if response.status_code == 200:
        if "抱歉,指定的主题不存在或已被删除或正在被审核" in response.text:
            return False
        else:
            # 如果可以连通返回网页源码
            html = etree.HTML(response.text)
            return html
    else:
        return False

# 定义方法解析html_text
def pare_post_data(html_text,tid):
    title_list = html_text.xpath('//*[@id="thread_subject"]')
    title = title_list[0].text

    uid_list = html_text.xpath('//*[@id="favatar%s"]/div[1]/div/a/@href'%tid)
    uid = str(uid_list[0])
    uid = (re.findall(r"\d+\.?\d*", uid))[0]

    post_content_info = {
        "tid": tid,
        "title": title,
        "uid": uid,
    }
    return post_content_info

def head():
    f = open(".\\luntan.txt", "w", encoding='utf-8')
    f.write("tid" + "," + "title" + "," + "uid\n")
    f.close()

#爬取所有网页并处理数据
def askurl(url):
    for i in range(max_tid):
        html = get_url_content(url + str(i))
        if html != False:
            tid = str(i)
            pare_post_data1 = pare_post_data(html,tid)
            get_tid = pare_post_data1.get("tid")
            get_title = pare_post_data1.get("title")
            get_uid = pare_post_data1.get("uid")
            print(get_tid + ',' + get_title + ',' + get_uid)
            f = open(".\\luntan.txt", "a+", encoding='utf-8')
            f.write(get_tid + ',' + get_title + ',' + get_uid + '\n')
            f.close()

if __name__ == "__main__":
    print("tid"+","+"title"+","+"uid")
    main()
    print("爬取完毕!!!")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件介绍:PHPWind是一套采用php+mysql数据库方式运行并可生成html页面的全新且完善的强大系统.我们希望作为一个开源.共享的软件,PHPWind可以以其流畅的速度与高负载能力激起各位加入PHPWind阵营的热情!共同打造专业品牌PHPWind.Net  PHPWind除了具备多重子版块.和后台用户组权限可以自由组合外,还具备分版块控制生成html页面、可选用的所见即所得编辑器、防止图片和附件防盗链、多附件上传下载、输入图片URL直接显示图片、版块主题分类、版块积分控制与版块内的用户组权限控制、主题与回复审核功能、自定义积分与自定义等级提升系统、论坛用户宣传接口、帖子加密隐藏出售、分论坛二级目录/域名等一些特色功能.从而减轻了大部分论坛程序中都必须要借助开发hack才能实现的诸多工作。 请下载后运行http://localhost/install.phplocalhost为你的域名如我的为www.tutuxiu.com那么就为http://www.tutuxiu.com/install.php<设置好后一定要删除此文件>如果你的论坛是在根目录下,比如http://localhost/bbs/install.php那么访问就应该是http://www.tutuxiu.com/bbs/install.php这样.然后运行安装. 请准备一个至少在50M的支持PHP的空间拥有一个不小于20M的MYSQL数据库来完成此安装。 谢谢您的支持与喜爱,欢迎访问www.tutuxiu.com图图秀论坛如您对此还不太了解请浏览:http://bbs.tutuxiu.com/read.php?tid-30.html我们为您提供详细的图片讲解。
### 回答1: 下面是一个Python爬虫爬取哔哩哔哩视频信息并导出Excel的示例代码,具体步骤如下: 1. 导入需要的库。 ``` import requests import json import xlwt ``` 2. 定义请求头和请求参数。 ``` headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} params = { 'mid': '9144082', # 用户id 'pagesize': '30', # 每页大小 'tid': '0', # 0为全部,其他为分类id 'page': '1', # 页码 'keyword': '', # 搜索关键字 'order': 'senddate' # 排序方式,按照发布时间排序 } ``` 3. 发送HTTP请求,并解析响应数据。 ``` url = 'https://space.bilibili.com/ajax/member/getSubmitVideos' video_list = [] while True: response = requests.get(url, headers=headers, params=params) data = json.loads(response.text) vlist = data['data']['vlist'] if len(vlist) == 0: break for video in vlist: item = { 'title': video['title'], # 视频标题 'play': video['play'], # 播放数 'review': video['review'], # 弹幕数 'comment': video['comment'], # 评论数 'favorite': video['favorites'], # 收藏数 'coin': video['coins'], # 硬币数 'share': video['share'], # 分享数 'time': video['created'] # 发布时间 } video_list.append(item) params['page'] += 1 ``` 4. 将数据导出到Excel文件中。 ``` workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('Sheet1') row = 0 for item in video_list: worksheet.write(row, 0, item['title']) worksheet.write(row, 1, item['play']) worksheet.write(row, 2, item['review']) worksheet.write(row, 3, item['comment']) worksheet.write(row, 4, item['favorite']) worksheet.write(row, 5, item['coin']) worksheet.write(row, 6, item['share']) worksheet.write(row, 7, item['time']) row += 1 workbook.save('video_info.xls') ``` 完整代码如下: ### 回答2: 爬虫是一种通过自动化方式来获取网页信息的程序,它可以模拟人类浏览网页的行为,访问网页并提取所需的数据。哔哩哔哩是一个知名的在线视频网站,通过爬虫可以获取其网页上的各种信息。 首先,我们可以使用Python编写一个爬虫程序,使用爬虫框架如Scrapy或BeautifulSoup来获取哔哩哔哩网页上的数据。可以选择爬取视频的标题、观看次数、弹幕数量等信息。通过分析网页的HTML结构,可以编写代码来提取所需的数据。 然后,我们可以将获取到的数据进行处理。可以使用Python中的数据处理库如Pandas来进行数据清洗和整理。可以对数据进行筛选、去除重复项、填充缺失值等处理操作,使得数据更加规整。 最后,我们可以使用Python中的Excel处理库如Openpyxl或XlsxWriter来将处理后的数据导入到Excel中。可以创建一个新的Excel文件,或者将数据写入已有的Excel文件的指定工作表中。可以设置Excel中的单元格样式、格式等,使得数据在Excel中展示更为美观。 总之,我们可以通过编写爬虫程序来获取哔哩哔哩网站上的数据,并使用数据处理库对数据进行清洗和整理,最后使用Excel处理库将数据导入到Excel中,从而实现对哔哩哔哩数据的爬取和处理。 ### 回答3: 爬虫是一种程序,能够自动化地收集互联网上的数据。而哔哩哔哩是一个知名的视频分享平台,所以我们可以使用爬虫来收集并处理哔哩哔哩的数据,然后将其导入到Excel表格中。 首先,我们需要使用Python编写一个爬虫程序。我们可以使用第三方库如Requests和BeautifulSoup来获取和解析哔哩哔哩的网页内容。通过发送HTTP请求,我们可以获取到哔哩哔哩的页面数据。然后,我们可以使用BeautifulSoup库来解析网页的HTML结构,提取出我们需要的数据,如视频的标题、播放量、评论数等。 接下来,我们可以使用Pandas库来处理和转换数据。Pandas是一个强大的数据处理工具,我们可以使用它来将获取到的数据存储为一个数据框(DataFrame)的形式。通过Pandas,我们可以对数据进行清洗、过滤和转换等操作,使得数据变得更加规整和易于分析。 最后,我们可以使用Openpyxl库来将数据导入到Excel中。Openpyxl是一个用于读写Excel文件的库,它允许我们在Python中操作Excel表格。通过将数据框转换为Excel的工作表,我们可以将收集到的哔哩哔哩数据保存到Excel文件中,以便于后续的数据分析和可视化。 总之,利用爬虫爬取哔哩哔哩并处理数据导入Excel,可以帮助我们更好地分析和利用哔哩哔哩的数据资源。这不仅有助于我们了解用户行为和兴趣,还可以帮助企业做出更好的营销和业务决策。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值