找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2555|回复: 6

[求助] BeautifulSoup解析网页

3

主题

4

帖子

4

积分

贫民

积分
4
wx_ylJ154rf 发表于 2021-6-5 18:07:51 | 显示全部楼层 |阅读模式
import requests
from bs4 import BeautifulSoup
import re
url='https://movie.douban.com/chart'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'}
f=requests.get(url,headers=headers).text

from lxml import etree


pattern = re.compile(r'<[^>]+>', re.S)

result = pattern.sub('',f)

print(result)





我已经用这个成功解析了网页,并删除了一大推的字符,可不可以再帮忙看看,怎样彻底筛选出里面的所有汉字

回复

使用道具 举报

0

主题

17

帖子

17

积分

贫民

积分
17
一杆钓起满天星 发表于 2021-7-2 11:32:51 | 显示全部楼层
import requests
from bs4 import BeautifulSoup

url='https://movie.douban.com/chart'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'}
f=requests.get(url,headers=headers).text

soup = BeautifulSoup(f,"lxml")
div1 = soup.find("div",{"class":"indent"})
table = div1.find_all("table",{"width":"100%"})
for t in table:
    print(t.find("div",{"class":"pl2"}).a.text.strip(),"\n",
          t.find("div", {"class": "pl2"}).a['href'],"\n",
          t.find("div",{"class":"pl2"}).p.text,"\n",
          t.find("div",{"class":"pl2"}).div.find("span",{"class":"pl"}).text,"\n",)
回复 支持 反对

使用道具 举报

0

主题

17

帖子

17

积分

贫民

积分
17
一杆钓起满天星 发表于 2021-7-2 11:37:38 | 显示全部楼层
import requests
from bs4 import BeautifulSoup

url='https://movie.douban.com/chart'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'}
f=requests.get(url,headers=headers).text

soup = BeautifulSoup(f,"lxml")
div1 = soup.find("div",{"class":"indent"})
table = div1.find_all("table",{"width":"100%"})
for t in table:
    print(t.find("div",{"class":"pl2"}).a.text.strip(),"\n",
          t.find("div", {"class": "pl2"}).a['href'],"\n",
          t.find("div",{"class":"pl2"}).p.text,"\n",
          t.find("div",{"class":"pl2"}).div.find("span",{"class":"pl"}).text,"\n",)

回复 支持 反对

使用道具 举报

0

主题

17

帖子

17

积分

贫民

积分
17
一杆钓起满天星 发表于 2021-7-2 11:47:38 | 显示全部楼层
  1. import requests
  2. from bs4 import BeautifulSoup

  3. url='https://movie.douban.com/chart'
  4. headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'}
  5. f=requests.get(url,headers=headers).text

  6. soup = BeautifulSoup(f,"lxml")
  7. div1 = soup.find("div",{"class":"indent"})
  8. table = div1.find_all("table",{"width":"100%"})
  9. for t in table:
  10.     print(t.find("div",{"class":"pl2"}).a.text.strip(),"\n",
  11.           t.find("div", {"class": "pl2"}).a['href'],"\n",
  12.           t.find("div",{"class":"pl2"}).p.text,"\n",
  13.           t.find("div",{"class":"pl2"}).div.find("span",{"class":"pl"}).text,"\n",
复制代码
回复 支持 反对

使用道具 举报

0

主题

4

帖子

4

积分

贫民

积分
4
zuoshou2000 发表于 2021-7-6 14:57:57 | 显示全部楼层
单数据提取,在重组.
回复 支持 反对

使用道具 举报

0

主题

4

帖子

4

积分

贫民

积分
4
zuoshou2000 发表于 2021-7-6 15:11:46 | 显示全部楼层
import requests
import re
url='https://movie.douban.com/chart'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'}
f=requests.get(url,headers=headers).text
listurl = re.findall(r'<a.*href="(.*?)".*?title="(.*?)">',f)
print(listurl)
回复 支持 反对

使用道具 举报

0

主题

4

帖子

4

积分

贫民

积分
4
zuoshou2000 发表于 2021-7-6 15:52:48 | 显示全部楼层
listurl = re.findall(r'<a.*href="(.*?)".*?title="(.*?)">',f)
for i in listurl:
    print(i)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表