项目实战

实战大项目:
模拟登录丁香园,并抓取论坛页面所有的人员基本信息与回复帖子内容。
丁香园论坛:http://www.dxy.cn/bbs/thread/626626#626626 。

其实这个大作业最难的是模拟登陆,使用header的cookie可以实现
代码如下:

import requests
from bs4 import BeautifulSoup
def getHTMLText(url):try:user_agent = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'cookie = '1092bbdd-42b0-4500-a9ff-8e37bab512dd'  # 输入自己的cookiecookie = cookie.encode('utf-8')headers = {'User_agent': user_agent, 'Cookie': cookie}r = requests.get(url, headers=headers)r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:traceback.print_exc()return ''def parsePage(text):htmlInfo = {}soup = BeautifulSoup(text, 'html.parser')auths = soup.find_all('div', attrs={'class': 'auth'})i = 0for auth in auths:htmlInfo[i] = {}htmlInfo[i]['name'] = auth.texti += 1i = 0levels = soup.findAll('div', attrs={'class': 'info clearfix'})for level in levels:level1 = level.find_all('div')if level1:htmlInfo[i]['level'] = level1[-1].text.strip()else:htmlInfo[i]['level'] = level.find('p').text.strip()i += 1i = 0user_attens = soup.findAll('div', attrs={'class': 'user_atten'})for user_atten in user_attens:for user_attr in user_atten.select('li'):user_attr_str = user_attr.texthtmlInfo[i][user_attr_str[-2:]] = user_attr_str[:-2]i += 1tds = soup.find_all('td', attrs={'class': 'postbody'})i = 0for td in tds:content = ''for string in td.stripped_strings:content += string + ' 'htmlInfo[i]['content'] = contenti += 1return htmlInfodef printHTMLInfo(htmlInfo):print(f'name\t\tlevel\t\t\tscore\tvote\tdingdang\tcontent')htmlInfo = list(htmlInfo.values())[:-1]for value in htmlInfo:print(f"{value['name']:10}\t{value['level']:14}\t{value['积分']}\t{value['得票']}\t{value['丁当']}\t\t{value['content']}",end='\n\n')def main():url = "http://www.dxy.cn/bbs/thread/626626"text = getHTMLText(url)htmlInfo = parsePage(text)printHTMLInfo(htmlInfo)
main()

爬虫练习(Day4)相关推荐

  1. 第六周——爬虫入门 Day4 8.4

    学习时间:9:00--12:00      15:00--16:30 图片数据爬取之ImagesPipeline -基于scrapy爬取字符串类型的数据和爬取图片类型的数据区别?      -字符串: ...

  2. 爬虫自学day4:requests模块之爬取豆瓣电影分类排行榜

    豆瓣电影排行榜界面: 选择喜剧分类: 我们要爬取的数据是:电影名称.导演.演员.上映时间.国家等这些数据. 如何进行爬取: 这些信息是当前页面的局部信息,那么是否会遇到数据解析. 除了数据解析还可以使 ...

  3. [day4]python网络爬虫实战:爬取美女写真图片(Scrapy版)

    l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.Scrapy简介 4. ...

  4. Python—实训day4—爬虫案例3:贴吧图片下载

    6 xpath 首先需要安装Google的Chrome浏览器 6.1 安装xpath插件 把 xpath_helper_2_0_2.crx 修改后缀名为 xpath_helper_2_0_2.rar. ...

  5. [JavaWeb实训Day4]__jsoup爬虫(爬新闻页面)词云的生成( kumo库)

    目录 一.本次实验分析过程 二.Jee连接MySQL数据库 三.异步传值及界面设计 四.jsoup爬虫爬取新闻网页 五.新闻词云的生成( kumo库) 六.存入数据库 快速链接:[JavaWeb项目实 ...

  6. Python Day4 爬虫-selenium滚动和常见反爬

    Day4 selenium滚动和常见fanpa 文章目录 Day4 selenium滚动和常见fanpa 1. zhi网页面数据分析 2. 页面滚动 3. requests的自动登录 4. selen ...

  7. 软件工程Alpha冲刺day4

    这个作业属于哪个课程 构建之法-2021秋-福州大学软件工程 这个作业要求在哪里 2021秋软工实践alpha冲刺 团队名称 测码奔腾 这个作业的目标 Alpha冲刺(day4) 今日进度 成员姓名 ...

  8. 【视频教程免费领取】聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎

    领取方式 关注公众号,发送Python0407获取下载链接. 扫码关注公众号,公众号回复 Python0407 获取下载地址 目录结构 目录:/读书ReadBook [57.6G] ┣━━48G全套J ...

  9. 百度Aistudio飞桨七日游体验python爬虫和分析数据

    前言 在某天,老妹给我发了一个截图,百度飞桨举办小白入门到大神的python,而且还有奖品.最近玩拼多多的多多消游戏第133关卡了一个星期废话(建议体验  前期智商碾压游戏 后期靠游戏眷顾) ,回归主 ...

最新文章

  1. 为什么要选择html5,5分钟告诉你,为什么要学HTML5大前端
  2. 250鲁大师跑分_看了鲁大师跑分,会发现MX250独显笔记本已落伍了
  3. android listview edittext 事件,Android ListView item中含有Edittext 中一些坑
  4. moore 数据集_警报数据集(alarm dataset)_机器学习_科研数据集
  5. 题目1065:输出梯形
  6. 嵌入式开发有用的github上的开源代码库
  7. Maven使用注解配置SQL映射器(@Select,@Insert,@Update,@Delete)
  8. make的作用linux,Linux下./configure,make,make install的作用
  9. 解决cmd中tomcat中文乱码问题
  10. 在国内怎么使用谷歌Chrome浏览器,为什么我的谷歌浏览器进去就加载失败
  11. 【通識:人生哲學與幸福】老子人生觀巡禮
  12. python和unity3d_请教:28岁女自学转行unity3d或python,能否给些选择建议?
  13. 卓有成效的管理者(笔记)——要事优先
  14. c语言关键字之auto
  15. 骨传导耳机工作原理,骨传导耳机优缺点
  16. flash 和 eeprom 区别和关系、nor flash和nand flash区别
  17. 微信crm平台是什么系统?
  18. 应用程序正常初始化(0xc150002)失败
  19. 【20210827】【系统设计】“秒杀系统”架构设计分析
  20. 数组排序函数 从小到大排序 C语言

热门文章

  1. 黑群晖Aria2下载BT,磁力amp;PT自用详细设置
  2. Webstorm2018激活和汉化详细步骤
  3. 仿牛客社区项目笔记-帖子模块(核心)
  4. php 商品模块添加商品属性,添加新商品
  5. 24位行业精英:2018,区块链教会我最重要的一件事 |链捕手
  6. Linux中清除痕迹和隐藏自己-清除last login
  7. 解决 Xshell6|Xftp6 强制升级问题
  8. 第二次作业:支付宝案例分析1
  9. Couldnt communicate with helper application Git提交
  10. mysql的sql查询IN里面有重复的值,怎么不去重查询,这是一条思路