标签: beautifulsoup

更改 HTML 标签内的属性以查看完整内容 Python BeautifulSoup

我正在尝试查看网站 Fortune.com/best-companies 的完整内容 原始代码在其脚本中具有以下标记:

<nav id="bottom-panel-pagination" class="panel-pagination hasNextOnly">
    <div data-event="view left" class="prev-page icon-new-left-arrow"></div>
    <div data-event="view right" class="next-page icon-new-right-arrow"></div>
</nav>
Run Code Online (Sandbox Code Playgroud)

我想使用 BeautifulSoup 将类属性“panel-pagination hasNextOnly”更改为“panel-pagination hasNoPagination”。我的 python 代码如下所示:

import urllib2
from bs4 import BeautifulSoup
quote_page = "http://fortune.com/best-companies/"
page = urllib2.urlopen(quote_page)
soup = BeautifulSoup(page, "html.parser")
fullpage = soup.find('nav', attrs = {'class' : 'panel-pagination hasNextOnly'})
print fullpage
Run Code Online (Sandbox Code Playgroud)

我想将 attrs = {'class' : 'panel-pagination hasNextOnly'} 更改为 attrs = {'class' : 'panel-pagination hasNoPagination'}

网站应该在此之后重新加载,以便我可以进一步废弃它。我该怎么做?请帮忙。

python pagination beautifulsoup web-scraping bs4

8
推荐指数
1
解决办法
5030
查看次数

Python 中的 Scraper 给出“拒绝访问”

我正在尝试用 Python 编写一个刮刀以从页面中获取一些信息。就像这个页面上出现的优惠标题一样:https :
//www.justdial.com/Panipat/Saree-Retailers/nct-10420585

现在我使用这个代码:

import bs4
import requests

def extract_source(url):
    source=requests.get(url).text
    return source

def extract_data(source):
    soup=bs4.BeautifulSoup(source)
    names=soup.findAll('title')
    for i in names:
        print i

extract_data(extract_source('https://www.justdial.com/Panipat/Saree-Retailers/nct-10420585'))
Run Code Online (Sandbox Code Playgroud)

但是当我执行这段代码时,它给了我一个错误:

<titlee> Access Denied</titlee>
Run Code Online (Sandbox Code Playgroud)

我能做些什么来解决这个问题?

python beautifulsoup python-requests

8
推荐指数
2
解决办法
9224
查看次数

Python BeautifulSoup,遍历标签和属性

我想遍历我在 html 页面的某些部分中的所有标签。我应用了 BeautifulSoup,但我可以没有它,只有 Selenium 库。假设我有以下 html 代码:

<table id="myBSTable">   
    <tr>
        <th>Column A1</th>
        <th>Column B1</th>
        <th>Column C1</th>
        <th>Column D1</th>
        <th>Column E1</th>
    </tr>
    <tr>
        <td data="First Column Data"></td>
        <td data="Second Column Data"></td>
        <td title="Title of the First Row">Value of Row 1</td>
        <td>Beautiful 1</td>
        <td>Soup 1</td>
    </tr>
    <tr>
        <td></td>
        <td data-g="Second Column Data"></td>
        <td title="Title of the Second Row">Value of Row 2</td>
        <td>Selenium 1</td>
        <td>Rocks 1</td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td title="Title of the Third Row">Value of Row 3</td>
        <td>Pyhon 1</td>
        <td>Boulder …
Run Code Online (Sandbox Code Playgroud)

html python tags selenium beautifulsoup

8
推荐指数
1
解决办法
8754
查看次数

使用 python 抓取 .aspx 页面

我是网络抓取游戏的新手。我正在尝试废弃以下网站: http://www.foodemissions.com/foodemissions/Calculator.aspx

使用在 Internet 上找到的资源,我整理了以下 HTTP POST 请求:

import urllib
from bs4 import BeautifulSoup

headers = {
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko)  Chrome/24.0.1312.57 Safari/537.17',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Accept-Encoding': 'gzip,deflate,sdch',
    'Accept-Language': 'en-US,en;q=0.8',
    'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3'
}

class MyOpener(urllib.FancyURLopener):
    version = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17'

myopener = MyOpener()
url = 'http://www.foodemissions.com/foodemissions/Calculator.aspx'
# first HTTP request without form data
f = myopener.open(url)
soup_dummy = BeautifulSoup(f,"html5lib")
# parse and retrieve two vital form values
viewstate …
Run Code Online (Sandbox Code Playgroud)

python asp.net beautifulsoup

8
推荐指数
1
解决办法
2万
查看次数

Python Beautiful Soup 'NavigableString' 对象没有属性 'get_text'

我正在尝试从以下 html 结构中提取文本:

<div class="account-places">
    <div>
        <ul class="location-history">
            <li></li>
            <li>Text to extract</li>
        </ul>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我有以下 BeautifulSoup 代码来做到这一点:

from bs4 import BeautifulSoup as bs

soup = bs(html, "lxml")
div = soup.find("div", {"class": "account-places"})
text = div.div.ul.li.next_sibling.get_text()
Run Code Online (Sandbox Code Playgroud)

但是 Beautiful Soup 抛出错误:'NavigableString' 对象没有属性 'get_text'。我究竟做错了什么?

python beautifulsoup

8
推荐指数
1
解决办法
7424
查看次数

从已发布的 Power BI 视觉对象中抓取数据

如何以任何编程方式将数据从已发布的特定 Power BI 视觉对象导入另一个 PBI 报告或 SQL Server 表,或者只是将其废弃到本地驱动器?我想达到与单击> >...中的三个点到本地驱动器相同的效果。 right upper corner of published PBI visualexport dataSave as在此处输入图片说明

这为我提供了我需要的整个数据表,而无需查看其他人如何生成视觉的复杂性(即在未知键上连接许多表)。无论利弊如何,我都想从 PBI visual 的外部报告中获取数据,而Power BI datasets不是从任何其他初级的外部报告来源中获取数据。

理想情况下,我想插入外部报告的视觉效果作为 Power BI 报告的来源。如果这是不可能的,有没有办法使用 R 打开 PBI 外部报告,并将数据从特定视觉导出到 R data.frame?如果没有,也许可以用 Python 或任何其他专为数据抓取设计的程序来完成?

python r beautifulsoup web-scraping powerbi

8
推荐指数
1
解决办法
4004
查看次数

BeautifulSoup 和 prettify() 函数

为了解析网站的 html 代码,我决定使用BeautifulSoup类和prettify()方法。我写了下面的代码。

import requests
import bs4

response = requests.get("https://www.doviz.com")
soup = bs4.BeautifulSoup(response.content, "html.parser")
print(soup.prettify())
Run Code Online (Sandbox Code Playgroud)

当我在 Mac 终端上执行此代码时,未设置代码缩进。另一方面,如果我在 Windows cmd 或 PyCharm 上执行此代码,则所有代码都会设置。

你知道这其中的原因吗?

html parsing beautifulsoup python-3.x

8
推荐指数
1
解决办法
4万
查看次数

使用BeautifulSoup Python点击按钮后获取价值

我试图通过点击按钮获得网站给出的值.

这是网站:https://www.4devs.com.br/gerador_de_cpf

您可以看到有一个名为"Gerar CPF"的按钮,此按钮提供单击后显示的数字.

我当前的脚本打开浏览器并获取值,但是我在点击之前从页面获取值,因此值为空.我想知道点击按钮后是否可以获取值.

from selenium import webdriver
from bs4 import BeautifulSoup
from requests import get

url = "https://www.4devs.com.br/gerador_de_cpf"

def open_browser():
    driver = webdriver.Chrome("/home/felipe/Downloads/chromedriver")
    driver.get(url)
    driver.find_element_by_id('bt_gerar_cpf').click()

def get_cpf():
    response = get(url)

    page_with_cpf = BeautifulSoup(response.text, 'html.parser')

    cpf = page_with_cpf.find("div", {"id": "texto_cpf"}).text

    print("The value is: " + cpf)


open_browser()
get_cpf()
Run Code Online (Sandbox Code Playgroud)

python selenium beautifulsoup web-crawler web-scraping

8
推荐指数
2
解决办法
1779
查看次数

ReadTimeout: HTTPSConnectionPool(host='', port=443):读取超时。(读取超时=10)

我正在网站上进行网页抓取,有时在运行脚本时出现此错误:

ReadTimeout: HTTPSConnectionPool(host='...', port=443): Read timed out. (read timeout=10)
Run Code Online (Sandbox Code Playgroud)

我的代码:

url = 'mysite.com'
all_links_page = []
page_one = requests.get(url, headers=getHeaders(), timeout=10)
sleep(2)
if page_one.status_code == requests.codes.ok:
    soup_one = BeautifulSoup(page_one.content.decode('utf-8'), 'lxml')
    page_links_one = soup_one.select("ul.product_list") 

    for links_one in page_links_one:
        for li in links_one.select("li"):
            all_links_page.append(li.a.get("href").strip())
Run Code Online (Sandbox Code Playgroud)

我找到的答案并不令人满意

python beautifulsoup web-scraping python-3.x python-requests

8
推荐指数
2
解决办法
3万
查看次数

无法使用请求登录 Instagram

我正在尝试使用requests库登录 Instagram 。我成功地使用了以下脚本,但是它不再起作用了。密码字段被加密(手动登录时检查开发工具)。

我试过了 :

import re
import requests
from bs4 import BeautifulSoup

link = 'https://www.instagram.com/accounts/login/'
login_url = 'https://www.instagram.com/accounts/login/ajax/'

payload = {
    'username': 'someusername',
    'password': 'somepassword',
    'enc_password': '',
    'queryParams': {},
    'optIntoOneTap': 'false'
}

with requests.Session() as s:
    r = s.get(link)
    csrf = re.findall(r"csrf_token\":\"(.*?)\"",r.text)[0]
    r = s.post(login_url,data=payload,headers={
        "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36",
        "x-requested-with": "XMLHttpRequest",
        "referer": "https://www.instagram.com/accounts/login/",
        "x-csrftoken":csrf
    })
    print(r.status_code)
    print(r.url)
Run Code Online (Sandbox Code Playgroud)

我发现使用开发工具:

username: someusername
enc_password: #PWD_INSTAGRAM_BROWSER:10:1592421027:ARpQAAm7pp/etjy2dMjVtPRdJFRPu8FAGILBRyupINxLckJ3QO0u0RLmU5NaONYK2G0jQt+78BBDBxR9nrUsufbZgR02YvR8BLcHS4uN8Gu88O2Z2mQU9AH3C0Z2NpDPpS22uqUYhxDKcYS5cA==
queryParams: {"oneTapUsers":"[\"36990119985\"]"}
optIntoOneTap: false
Run Code Online (Sandbox Code Playgroud)

如何使用请求登录 Instagram?

python beautifulsoup python-3.x instagram

8
推荐指数
3
解决办法
3522
查看次数