漂亮的汤模块错误(html解析器)

时间:2018-08-27 10:32:34

标签: python beautifulsoup webpage

但是,当我编写代码时,我使用beautifulsoup来查找网页的页数:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
import requests
import BeautifulSoup


soup = BeautifulSoup(response.text)
pages = soup.select('div.pagination a')

a = int(pages[-2].text)
print a

它出现以下错误:

  

回溯(最近通话最近):文件   “ C:/Users/HangaarLab/Desktop/sonartik/sonartik.py”,第13行,在          soup = BeautifulSoup(response.text)TypeError:“模块”对象不可调用

     

在另一台计算机上运行该代码,但它给出以下警告:   UserWarning:未明确指定解析器,因此我使用的是最好的解析器   此系统可用的HTML解析器(“ html.parser”)。这通常   没问题,但是如果您在其他系统或   不同的虚拟环境,它可能使用不同的解析器,   行为不同。导致此警告的代码在的第14行   文件C:/Users/Ar�elik/Desktop/sikayet/klo.py。摆脱这个   警告,请将其他参数'features =“ html.parser”'传递给   BeautifulSoup构造函数。

我需要代码才能在出现第一个错误的计算机上工作。我该怎么办?

3 个答案:

答案 0 :(得分:2)

更新

import BeautifulSoup

from bs4 import BeautifulSoup

例如:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get("https://www.sikayetvar.com/onedio", headers = headers)

soup = BeautifulSoup(response.text, "html.parser")   #Use a parser to fix second error warning 
pages = soup.select('div.pagination a')

a = int(pages[-2].text)
print a

答案 1 :(得分:0)

您必须从bs4软件包中导入BeautifulSoup

import urllib2
import requests
from bs4 import BeautifulSoup #here
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get("https://www.sikayetvar.com/onedio", headers = headers)

soup = BeautifulSoup(response.text)
pages = soup.select('div.pagination a')

a = int(pages[-2].text)
print a

答案 2 :(得分:0)

BeautifulSoup是bs4软件包的一部分。要解决您的代码,只需执行以下操作:

range must be of the form [variable, min, max]; found: [x,0,%pi*j]

在命令行中,并将导入更改为:

pip install bs4