在python3中使用BeautifulSoup在html <script>中提取标题

德森

我有一个 html 页面,我想提取标签和对象 _BFD.BFD_INFO 内部的标题。我已经访问了里面的所有数据,但它还有很多其他数据,比如链接等,现在我不知道如何访问我想提取的标题。请帮助我。到目前为止我写的代码是

import bs4 as bs
import urllib3.request
import requests

sauce= 
requests.get('https://www.meishij.net/zuofa/huaguluobodunpaigutang.html')
print(sauce.status_code)
soup=bs.BeautifulSoup(sauce.content,'html.parser')
#print(soup.find_all("script", type="text/javascript")[9])
print(soup.find("script",type="text/javascript")[9])

这是 html

<script type="text/javascript">
_czc.push(['_trackEvent','pc','pc_news']);
_czc.push(['_trackEvent','pc','pc_news_class_6']);
window["_BFD"] = window["_BFD"] || {};
_BFD.BFD_INFO = {
"title" :"花菇萝卜炖排骨汤",
</script>

湿婆

我不太擅长正则表达式,它可用于在一行中查找“标题”。我想下面的代码应该可以工作。

import json
import requests
from bs4 import BeautifulSoup
url = 'https://www.meishij.net/zuofa/huaguluobodunpaigutang.html'
headers = requests.utils.default_headers()
headers.update({
    'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0',
})

Link = requests.get(url, headers=headers)
soup =BeautifulSoup(Link.content,"lxml")
scripts = soup.find_all("script")
for script in scripts:
    if "_BFD.BFD_INFO" in script.text:
        text = script.text
        m_text = text.split('=')
        m_text = m_text[2].split(":")
        m_text = m_text[1].split(',')
        encoded = m_text[0].encode('utf-8')
        print(encoded.decode('utf-8'))

更新获取图片:

for script in scripts:
    text = script.text
    m_text = text.split(',')
    for n in m_text:
        if 'pic'  in n:
            print(n)

输出:

C:\Users\siva\Desktop>python test.py

"pic" :"http://s1.st.meishij.net/r/216/197/6174466/a6174466_152117574296827.jpg"

更新 2:

for script in scripts:
text = script.text
m_text = text.split('_BFD.BFD_INFO')
for t in m_text:
    if "title" in t:
        print(t.split(","))

输出:

C:\Users\SSubra02\Desktop>python test.py
[' = {\r\n"title" :"????????"', '\r\n"pic" :"http://s1.st.meishij.net/r/216/197/
6174466/a6174466_152117574296827.jpg"', '\r\n"id" :"1883528"', '\r\n"url" :"http
s://www.meishij.net/zuofa/huaguluobodunpaigutang.html"', '\r\n"category" :[["??"
', '"https://www.meishij.net/chufang/diy/recaipu/"]', '["??"', '"https://www.mei
shij.net/chufang/diy/tangbaocaipu/"]', '["???"', '"https://www.meishij.net/chufa
ng/diy/jiangchangcaipu/"]', '["??"', '"https://www.meishij.net/chufang/diy/wucan
/"]', '["??"', '"https://www.meishij.net/chufang/diy/wancan/"]]', '\r\n"tag" :["
??"', '"??"', '"??"', '"????"', '"????"', '"????"]', '\r\n"author":"????"', '\r\
n"pinglun":"3"', '\r\n"renqi":"4868"', '\r\n"step":"7?"', '\r\n"gongyi":"?"', '\
r\n"nandu":"????"', '\r\n"renshu":"4??"', '\r\n"kouwei":"???"', '\r\n"zbshijian"
:"10??"', '\r\n"prshijian":"<90??"', '\r\n"page_type" :"detail"\r\n};window["_BF
D"] = window["_BFD"] || {};_BFD.client_id = "Cmeishijie";_BFD.script = document.
createElement("script");_BFD.script.type = "text/javascript";_BFD.script.async =
 true;_BFD.script.charset = "utf-8";_BFD.script.src =((\'https:\' == document.lo
cation.protocol?\'https://ssl-static1\':\'http://static1\')+\'.baifendian.com/se
rvice/meishijie/meishijie.js\');']

如果您遇到任何问题,请告诉我。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从美丽的汤python中提取链接标题

来自分类Dev

从Perl中的HTTP请求中提取标题

来自分类Dev

从R中的链接中提取标题

来自分类Dev

如何从列名中的标题中提取?

来自分类Dev

从div中的多个iframe中提取标题

来自分类Dev

从<script>标签BeautifulSoup4中提取令牌,请求

来自分类Dev

如何使用Python从DIV中的<a>标记中提取标题?

来自分类Dev

从Python中的链接中提取标题(漂亮的汤)

来自分类Dev

如何使用 Selenium Python 从网站中提取产品标题

来自分类Dev

从键值对中提取数据到Google Bigquery中的列标题

来自分类Dev

通过URL从PHP中的PDF文档中提取标题

来自分类Dev

如何使用API从Google文档中提取标题

来自分类Dev

使用JMeter从响应标题中提取授权

来自分类Dev

我如何使用bs4从脚本中提取标题

来自分类Dev

如何使用API从Google文档中提取标题

来自分类Dev

使用Pandas从文本文件中提取标题数据

来自分类Dev

如何使用 PowerShell 从 OneNote 文档中提取标题

来自分类Dev

在 Python 中使用 BeautifulSoup 从 html 中提取数据

来自分类Dev

使用Scrapy从<script>标记中提取多行javascript内容

来自分类Dev

使用BS4从<script> scrapign中提取内容

来自分类Dev

如何在 bash 中从网站中提取 http 代码、大小标题和标题?

来自分类Dev

使用Python从HTML文件中提取文本(音乐艺术家/标题)

来自分类Dev

如何使用BeautifulSoup在h5 a href链接中提取标题

来自分类Dev

使用BeautifulSoup在Python 3中提取表

来自分类Dev

在R中使用count函数时,如何仅从小标题中提取int值?

来自分类Dev

使用BeautifulSoup提取标题

来自分类Dev

使用wget和sed从html标题中提取字符串

来自分类Dev

从<script> BeautifulSoup Python提取数据

来自分类Dev

使用spring-rabbit从消息中提取标题,而无需在注释中声明队列

Related 相关文章

  1. 1

    从美丽的汤python中提取链接标题

  2. 2

    从Perl中的HTTP请求中提取标题

  3. 3

    从R中的链接中提取标题

  4. 4

    如何从列名中的标题中提取?

  5. 5

    从div中的多个iframe中提取标题

  6. 6

    从<script>标签BeautifulSoup4中提取令牌,请求

  7. 7

    如何使用Python从DIV中的<a>标记中提取标题?

  8. 8

    从Python中的链接中提取标题(漂亮的汤)

  9. 9

    如何使用 Selenium Python 从网站中提取产品标题

  10. 10

    从键值对中提取数据到Google Bigquery中的列标题

  11. 11

    通过URL从PHP中的PDF文档中提取标题

  12. 12

    如何使用API从Google文档中提取标题

  13. 13

    使用JMeter从响应标题中提取授权

  14. 14

    我如何使用bs4从脚本中提取标题

  15. 15

    如何使用API从Google文档中提取标题

  16. 16

    使用Pandas从文本文件中提取标题数据

  17. 17

    如何使用 PowerShell 从 OneNote 文档中提取标题

  18. 18

    在 Python 中使用 BeautifulSoup 从 html 中提取数据

  19. 19

    使用Scrapy从<script>标记中提取多行javascript内容

  20. 20

    使用BS4从<script> scrapign中提取内容

  21. 21

    如何在 bash 中从网站中提取 http 代码、大小标题和标题?

  22. 22

    使用Python从HTML文件中提取文本(音乐艺术家/标题)

  23. 23

    如何使用BeautifulSoup在h5 a href链接中提取标题

  24. 24

    使用BeautifulSoup在Python 3中提取表

  25. 25

    在R中使用count函数时,如何仅从小标题中提取int值?

  26. 26

    使用BeautifulSoup提取标题

  27. 27

    使用wget和sed从html标题中提取字符串

  28. 28

    从<script> BeautifulSoup Python提取数据

  29. 29

    使用spring-rabbit从消息中提取标题,而无需在注释中声明队列

热门标签

归档