但是,当我编写代码时,我使用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构造函数。
我需要代码才能在出现第一个错误的计算机上工作。我该怎么办?
答案 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