馍尔Moer 发表于 2023-4-29 21:49:18

python爬虫问题——关于lxml问题

本帖最后由 馍尔Moer 于 2023-4-29 21:51 编辑

最下面显示,我已经成功下载了lxml。但是上面的python脚本运行结果说我没有lxml。为什么?

isdkz 发表于 2023-4-29 21:50:21

你的截图是不是错了?

你那个是 __builtins__ 的问题,要双下划线

馍尔Moer 发表于 2023-4-29 21:51:54

isdkz 发表于 2023-4-29 21:50
你的截图是不是错了?

你那个是 __builtins__ 的问题,要双下划线

不好意思,我刚刚才更正

isdkz 发表于 2023-4-29 22:00:08

馍尔Moer 发表于 2023-4-29 21:51
不好意思,我刚刚才更正

你安装好后要重新打开 idle

馍尔Moer 发表于 2023-4-29 22:12:41

isdkz 发表于 2023-4-29 22:00
你安装好后要重新打开 idle

还是同样的报错

馍尔Moer 发表于 2023-4-29 22:13:13

isdkz 发表于 2023-4-29 22:00
你安装好后要重新打开 idle

import requests
from bs4 import BeautifulSoup
import lxml
url = "https://music.douban.com/top250"
params = {"start":225}
headers= {
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
"Cookie": 'll="118178"; bid=xOL938asFC0; __gads=ID=1e173827052fbfae-2237b8b93fdf003f:T=1681947340:RT=1681947340:S=ALNI_MZSeHau4y140HlSeBvzIvluphnqHw; __gpi=UID=00000bfa2e7b79af:T=1681947340:RT=1682033932:S=ALNI_MYHaFlQHLK4MRWstYmbab4hArWLYw; _pk_ref.100001.afe6=%5B%22%22%2C%22%22%2C1682592499%2C%22https%3A%2F%2Fcn.bing.com%2F%22%5D; _pk_id.100001.afe6=7def2797f09e923b.1682592499.1.1682592499.1682592499.; _pk_ses.100001.afe6=*; ap_v=0,6.0; __utma=30149280.2097799149.1681628108.1682033932.1682592499.6; __utmc=30149280; __utmz=30149280.1682592499.6.2.utmcsr=cn.bing.com|utmccn=(referral)|utmcmd=referral|utmcct=/; __utmt=1; __utmb=30149280.1.10.1682592499',
'Host': 'music.douban.com',
'Referer': 'https://cn.bing.com/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.58'
}

response = requests.get(url=url,params=params,headers=headers)
response_str = str(response)
soup = BeautifulSoup(response,'lxml')
print(soup.title)

馍尔Moer 发表于 2023-4-29 22:13:52

馍尔Moer 发表于 2023-4-29 22:13


大佬,您帮我试试这个吧

isdkz 发表于 2023-4-29 22:15:13

馍尔Moer 发表于 2023-4-29 22:12
还是同样的报错

那奇了怪了,你在 cmd 用这个命令打开 idle 看看

pyw -m idlelib

后面也可以跟上你的python文件的路径直接打开python文件,例如 pyw -m idlelib test.py

isdkz 发表于 2023-4-29 22:18:18

馍尔Moer 发表于 2023-4-29 22:13


import requests
from bs4 import BeautifulSoup
import lxml
url = "https://music.douban.com/top250"
params = {"start":225}
headers= {
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
"Cookie": 'll="118178"; bid=xOL938asFC0; __gads=ID=1e173827052fbfae-2237b8b93fdf003f:T=1681947340:RT=1681947340:S=ALNI_MZSeHau4y140HlSeBvzIvluphnqHw; __gpi=UID=00000bfa2e7b79af:T=1681947340:RT=1682033932:S=ALNI_MYHaFlQHLK4MRWstYmbab4hArWLYw; _pk_ref.100001.afe6=%5B%22%22%2C%22%22%2C1682592499%2C%22https%3A%2F%2Fcn.bing.com%2F%22%5D; _pk_id.100001.afe6=7def2797f09e923b.1682592499.1.1682592499.1682592499.; _pk_ses.100001.afe6=*; ap_v=0,6.0; __utma=30149280.2097799149.1681628108.1682033932.1682592499.6; __utmc=30149280; __utmz=30149280.1682592499.6.2.utmcsr=cn.bing.com|utmccn=(referral)|utmcmd=referral|utmcct=/; __utmt=1; __utmb=30149280.1.10.1682592499',
'Host': 'music.douban.com',
'Referer': 'https://cn.bing.com/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.58'
}

response = requests.get(url=url,params=params,headers=headers)
# response_str = str(response) 这行不要
soup = BeautifulSoup(response.text,'lxml')
print(soup.title)

馍尔Moer 发表于 2023-4-29 22:35:16

isdkz 发表于 2023-4-29 22:18
import requests
from bs4 import BeautifulSoup
import lxml


还是报错

isdkz 发表于 2023-4-29 22:45:22

馍尔Moer 发表于 2023-4-29 22:35
还是报错

感觉你装了多个 python

你先用这条命令安装 lxml

py -m pip install lxml -i https://mirrors.aliyun.com/pypi/simple

馍尔Moer 发表于 2023-4-29 22:54:04

本帖最后由 馍尔Moer 于 2023-4-29 22:57 编辑

isdkz 发表于 2023-4-29 22:45
感觉你装了多个 python

你先用这条命令安装 lxml

大佬,这个是用您的代码的结果


是的,我电脑里面有三个python的版本,所以我下载的时候都是这样下载的:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lxml --target=C:\Users\Moer\AppData\Local\Programs\Python\Python311\Lib\site-packages

但是运行之后都是一样的报错

isdkz 发表于 2023-4-29 22:56:05

馍尔Moer 发表于 2023-4-29 22:54
大佬,这个是用您的代码的结果




你现在看看用 8 楼的方法能不能运行了,你安装多个 python 不要把环境搞错了,最好用虚拟环境

馍尔Moer 发表于 2023-4-29 22:58:57

isdkz 发表于 2023-4-29 22:56
你现在看看用 8 楼的方法能不能运行了,你安装多个 python 不要把环境搞错了,最好用虚拟环境

已经试了,一样的报错

isdkz 发表于 2023-4-29 23:10:05

馍尔Moer 发表于 2023-4-29 22:58
已经试了,一样的报错

这也太奇怪了,不应该呀{:10_277:}

馍尔Moer 发表于 2023-4-29 23:41:02

isdkz 发表于 2023-4-29 23:10
这也太奇怪了,不应该呀

是呀,好奇怪呀

isdkz 发表于 2023-4-30 07:15:20

馍尔Moer 发表于 2023-4-29 23:41
是呀,好奇怪呀

有可能跟你用 --target 安装了有关,先把之前用 --target 安装的删掉重新来看看

歌者文明清理员 发表于 2023-4-30 09:45:08

直接用lxml不行吗

歌者文明清理员 发表于 2023-4-30 17:35:45

这个错误通常意味着缺少所需版本的lxml解析器库。您可以使用以下命令检查当前是否已安装lxml库:

```
!pip list | grep lxml
```

如果没有找到lxml,请使用以下命令安装(需要管理员权限):

```
!pip install lxml
```

如果已经安装了lxml,请使用以下命令更新(需要管理员权限):

```
!pip install --upgrade lxml
```

如果您仍然收到此错误消息,请尝试修改代码以指定正确的解析器和特性,如下所示:

```
soup = BeautifulSoup(response.content, 'lxml', features='lxml')
```

请确保您提供的特性与您安装的模块版本兼容。

陶远航 发表于 2023-5-1 09:28:27

试试:
pip uninstall bs4
pip install bs4
一行一行执行
页: [1] 2
查看完整版本: python爬虫问题——关于lxml问题