python爬取糗百内容(爬取糗事百科)

本文目录一览:

python爬虫项目实战:爬取用户的所有信息,如性别、年龄等

python爬虫项目实战:

爬取糗事百科用户的所有信息,包括用户名、性别、年龄、内容等等。

10个步骤实现项目功能,下面开始实例讲解:

1.导入模块

import re

import urllib.request

from bs4 import BeautifulSoup

2.添加头文件,防止爬取过程被拒绝链接

def qiuShi(url,page):

################### 模拟成高仿度浏览器的行为 ##############

heads ={

‘Connection’:’keep-alive’,

‘Accept-Language’:’zh-CN,zh;q=0.9′,

‘Accept’:’text/html,application/xhtml+xml,application/xml;

q=0.9,image/webp,image/apng, / ;q=0.8′,

‘User-Agent’:’Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36

(KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36′,

}

headall = []

for key,value in heads.items():

items = (key,value)

headall.append(items)

opener = urllib.request.build_opener()

opener.addheaders = headall

urllib.request.install_opener(opener)

data = opener.open(url).read().decode()

################## end ########################################

3.创建soup解析器对象

soup = BeautifulSoup(data,’lxml’)

x = 0

4.开始使用BeautifulSoup4解析器提取用户名信息

############### 获取用户名 ########################

name = []

unames = soup.find_all(‘h2’)

for uname in unames:

name.append(uname.get_text())

#################end#############################

5.提取发表的内容信息

############## 发表的内容 #########################

cont = []

data4 = soup.find_all(‘div’,class_=’content’)

data4 = str(data4)

soup3 = BeautifulSoup(data4,’lxml’)

contents = soup3.find_all(‘span’)

for content in contents:

cont.append(content.get_text())

##############end####################################

6.提取搞笑指数

#################搞笑指数##########################

happy = []

data2 = soup.find_all(‘span’,class_=”stats-vote”)

data2 = str(data2) # 将列表转换成字符串形式才可以使用

soup1 = BeautifulSoup(data2,’lxml’)

happynumbers = soup1.find_all(‘i’,class_=”number”)

for happynumber in happynumbers:

happy.append(happynumber.get_text())

##################end#############################

7.提取评论数

############## 评论数 ############################

comm = []

data3 = soup.find_all(‘a’,class_=’qiushi_comments’)

data3 = str(data3)

soup2 = BeautifulSoup(data3,’lxml’)

comments = soup2.find_all(‘i’,class_=”number”)

for comment in comments:

comm.append(comment.get_text())

############end#####################################

8.使用正则表达式提取性别和年龄

######## 获取性别和年龄 ##########################

pattern1 = ‘div class=”articleGender (w ?)Icon”(d ?)/div’

sexages = re.compile(pattern1).findall(data)

9.设置用户所有信息输出的格局设置

################## 批量输出用户的所以个人信息 #################

print()

for sexage in sexages:

sa = sexage

print(‘ ‘ 17, ‘= = 第’, page, ‘页-第’, str(x+1) + ‘个用户 = = ‘,’ ‘ 17)

print(‘【用户名】:’,name[x],end=”)

print(‘【性别】:’,sa[0],’ 【年龄】:’,sa[1])

print(‘【内容】:’,cont[x])

print(‘【搞笑指数】:’,happy[x],’ 【评论数】:’,comm[x])

print(‘ ‘ 25,’ 三八分割线 ‘,’ ‘ 25)

x += 1

###################end##########################

10.设置循环遍历爬取13页的用户信息

for i in range(1,14):

url = ‘ ‘+str(i)+’/’

qiuShi(url,i)

运行结果,部分截图:

如何用Python爬取数据?

方法/步骤

在做爬取数据之前,你需要下载安装两个东西,一个是urllib,另外一个是python-docx。

请点击输入图片描述

然后在python的编辑器中输入import选项,提供这两个库的服务

请点击输入图片描述

urllib主要负责抓取网页的数据,单纯的抓取网页数据其实很简单,输入如图所示的命令,后面带链接即可。

请点击输入图片描述

抓取下来了,还不算,必须要进行读取,否则无效。

请点击输入图片描述

5

接下来就是抓码了,不转码是完成不了保存的,将读取的函数read转码。再随便标记一个比如XA。

请点击输入图片描述

6

最后再输入三句,第一句的意思是新建一个空白的word文档。

第二句的意思是在文档中添加正文段落,将变量XA抓取下来的东西导进去。

第三句的意思是保存文档docx,名字在括号里面。

请点击输入图片描述

7

这个爬下来的是源代码,如果还需要筛选的话需要自己去添加各种正则表达式。

python3.4 + requests + re 仿写糗事百科爬虫,遇到一个疑惑,求助

物信息、统计、网页制作、计算等多个领域都体现出了强大的功能。python和其他脚本语言如java、R、Perl 一样,都可以直接在命令行里运行脚本程序。工具/原料

python;CMD命令行;windows操作系统

方法/步骤

1、首先下载安装python,建议安装2.7版本以上,3.0版本以下,由于3.0版本以上不向下兼容,体验较差。

2、打开文本编辑器,推荐editplus,notepad等,将文件保存成 .py格式,editplus和notepad支持识别python语法。

脚本第一行一定要写上 #!usr/bin/python

表示该脚本文件是可执行python脚本

如果python目录不在usr/bin目录下,则替换成当前python执行程序的目录。

3、编写完脚本之后注意调试、可以直接用editplus调试。调试方法可自行百度。脚本写完之后,打开CMD命令行,前提是python 已经被加入到环境变量中,如果没有加入到环境变量,请百度

4、在CMD命令行中,输入 “python” + “空格”,即 ”python “;将已经写好的脚本文件拖拽到当前光标位置,然后敲回车运行即可。

python爬虫,怎么在爬段子的同时爬段子的附图?

首先:取到相应图片的url地址

然后:下载

①使用urllib urllib.urlretrieve(url, path) 进行下载保存

②使用 open() 二进制形式 读写文件

建议使用 第一种方式下载

python爬虫糗事百科入门求助

你可以用一下BeautifulSoup这个,它是处理这种抓取下来的网页,直接利用标签和一些id、class来查找元素的,比较方便

原创文章,作者:简单一点,如若转载,请注明出处:https://www.506064.com/n/127965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
简单一点简单一点
上一篇 2024-10-03 23:24
下一篇 2024-10-03 23:24

相关推荐

  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29

发表回复

登录后才能评论