python3除以5出现错误的原因

Python3除以5出现错误的原因 & Python爬虫翻页爬取

Python3除以5出现错误的原因

当Python3除以5的时候,可能会出现以下错误:

```

TypeError: unsupported operand type(s) for /: 'int' and 'float'

```

这个错误的原因是因为我们在Python3中除法运算的结果会强制保留小数,而不像Python2会返回一个整数。这也意味着当我们需要用整数去除以浮点数的时候,Python3会返回一个TypeError错误。

解决这个错误的方法很简单:我们可以使用//运算符来代替/运算符。//运算符执行整数除法运算,即使结果是浮点数,也会自动截掉其小数部分。

举个例子,我们可以这样修改代码:

```

# Python2

result = 5 / 2 # 返回整数2

# Python3

result = 5 / 2 # 返回浮点数2.5

result = 5 // 2 # 返回整数2

```

Python爬虫翻页爬取

爬虫是指编写程序自动从网络上收集数据的过程。在实践中,大多数爬虫都需要从多个页面上提取数据,并通过翻页来访问这些页面。

通过Python编写爬虫,有两种常见的方法可以实现翻页爬取:

1. 对页面URL进行循环遍历;

2. 使用XPath或BeautifulSoup等Python库进行翻页。

1. 对页面URL进行循环遍历

这种方法比较简单,直接对要爬取的页面URL进行循环遍历,即可访问多个页面。具体实现步骤如下:

1)首先,我们需要确定需要爬取的页面URL。

2)然后,使用Python中的循环语句对这些URL进行遍历,用Python标准库urllib或Requests库获取HTML源代码。

3)解析HTML源代码,提取出我们需要的数据。

4)将这些数据存入我们指定的数据结构中。

具体的代码实现:

```

import requests

from bs4 import BeautifulSoup

# 首先,我们需要获取页面的总数

url = 'https://www.example.com/page/1'

response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')

total_pages = soup.find('div', {'class': 'pagination'}).find_all('a')[-1].get('href').split('/')[-2]

# 然后,我们对所有页面进行遍历

for i in range(1, int(total_pages) + 1):

url = f'https://www.example.com/page/{i}'

response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')

# 解析HTML源代码,提取数据,存入数据结构中

data = []

for item in soup.find_all('div', {'class': 'item'}):

title = item.find('a').text.strip()

link = item.find('a').get('href')

data.append({'title': title, 'link': link})

print(data)

```

2. 使用XPath或BeautifulSoup等Python库进行翻页

这种方法比较复杂,需要使用Python中的XPath或BeautifulSoup等库来查询HTML标记并提取数据。具体如下:

1)首先,我们需要确定需要爬取的页面URL。

2)然后,我们需要使用Python库(例如XPath或BeautifulSoup)查找页面中的翻页按钮。

3)找到翻页按钮后,我们需要模拟用户的翻页操作,将我们所需要的数据提取出来。

4)将这些数据存入我们指定的数据结构中。

具体的代码实现(以BeautifulSoup库为例):

```

import requests

from bs4 import BeautifulSoup

# 首先,我们需要获取页面的总数

url = 'https://www.example.com/page/1'

response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')

total_pages = int(soup.find('div', {'class': 'pagination'}).find_all('a')[-1].get('href').split('/')[-2])

# 然后,我们对所有页面进行遍历

url_template = 'https://www.example.com/page/{}'

for i in range(1, total_pages + 1):

url = url_template.format(i)

response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')

# 解析HTML源代码,提取数据,存入数据结构中

data = []

for item in soup.find_all('div', {'class': 'item'}):

title = item.find('a').text.strip()

link = item.find('a').get('href')

data.append({'title': title, 'link': link})

print(data)

```

总结

Python3除以5出现错误的原因很容易理解,但是如果你没有在尝试错误然后解决它的经验的话,错误看起来可能会令人困惑。对于爬虫的翻页爬取,使用Python编写的方式有很多种,你可以选择最适合你项目的那一种。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(70) 打赏

评论列表 共有 1 条评论

老娘独占天下却失他 2年前 回复TA

管遇到怎么样的困难,不管遇到多大的挫折,人总要活在希望里,哀莫大于心死,要在困境中奋起,在失望中充满希望。

立即
投稿
发表
评论
返回
顶部