我正在尝试查看网站 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 编写一个刮刀以从页面中获取一些信息。就像这个页面上出现的优惠标题一样: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)
我能做些什么来解决这个问题?
我想遍历我在 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) 我是网络抓取游戏的新手。我正在尝试废弃以下网站: 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) 我正在尝试从以下 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'。我究竟做错了什么?
如何以任何编程方式将数据从已发布的特定 Power BI 视觉对象导入另一个 PBI 报告或 SQL Server 表,或者只是将其废弃到本地驱动器?我想达到与单击> >...
中的三个点到本地驱动器相同的效果。
right upper corner of published PBI visual
export data
Save as
这为我提供了我需要的整个数据表,而无需查看其他人如何生成视觉的复杂性(即在未知键上连接许多表)。无论利弊如何,我都想从 PBI visual 的外部报告中获取数据,而Power BI datasets
不是从任何其他初级的外部报告来源中获取数据。
理想情况下,我想插入外部报告的视觉效果作为 Power BI 报告的来源。如果这是不可能的,有没有办法使用 R 打开 PBI 外部报告,并将数据从特定视觉导出到 R data.frame
?如果没有,也许可以用 Python 或任何其他专为数据抓取设计的程序来完成?
为了解析网站的 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 上执行此代码,则所有代码都会设置。
你知道这其中的原因吗?
我试图通过点击按钮获得网站给出的值.
这是网站: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) 我正在网站上进行网页抓取,有时在运行脚本时出现此错误:
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
我正在尝试使用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?
beautifulsoup ×10
python ×9
web-scraping ×4
python-3.x ×3
html ×2
selenium ×2
asp.net ×1
bs4 ×1
instagram ×1
pagination ×1
parsing ×1
powerbi ×1
r ×1
tags ×1
web-crawler ×1