Python Web抓取-当页面通过JS加载内容时如何获取漂亮的汤料?

QwErTy99

因此,我尝试使用BeautifulSoup和urllib从特定网站上抓取表格。我的目标是根据此表中的所有数据创建一个列表。我已经尝试过使用其他网站上的表格使用相同的代码,并且效果很好。但是,在此网站上尝试该表时,该表将返回NoneType对象。有人可以帮我弄这个吗?我尝试过在线寻找其他答案,但运气不佳。

这是代码:

import requests
import urllib

from bs4 import BeautifulSoup
soup = BeautifulSoup(urllib.request.urlopen("http://www.teamrankings.com/ncaa-basketball/stat/free-throw-pct").read())

table = soup.find("table", attrs={'class':'sortable'})

data = []
rows = table.findAll("tr")
for tr in rows:
    cols = tr.findAll("td")
    for td in cols:
        text = ''.join(td.find(text=True))
        data.append(text)

print(data)
农夫乔

看起来这些数据是通过ajax调用加载的:

在此处输入图片说明

您应该定位该网址: http://www.teamrankings.com/ajax/league/v3/stats_controller.php

import requests
import urllib

from bs4 import BeautifulSoup


params = {
    "type":"team-detail",
    "league":"ncb",
    "stat_id":"3083",
    "season_id":"312",
    "cat_type":"2",
    "view":"stats_v1",
    "is_previous":"0",
    "date":"04/06/2015"
}

content = urllib.request.urlopen("http://www.teamrankings.com/ajax/league/v3/stats_controller.php",data=urllib.parse.urlencode(params).encode('utf8')).read()
soup = BeautifulSoup(content)

table = soup.find("table", attrs={'class':'sortable'})

data = []
rows = table.findAll("tr")
for tr in rows:
    cols = tr.findAll("td")
    for td in cols:
        text = ''.join(td.find(text=True))
        data.append(text)

print(data)

使用Web检查器,您还可以查看与POST请求一起传递的参数。

在此处输入图片说明

通常,另一端的服务器将检查这些值,如果没有或全部没有这些值,则拒绝您的请求。上面的代码片段对我来说很好。urllib2之所以转向,是因为我通常更喜欢使用该库。

如果数据加载到浏览器中,则可以将其抓取。您只需要模仿浏览器发送的请求即可。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Web抓取页面循环

来自分类Dev

动态加载页面的python web抓取

来自分类Dev

Web在python中抓取xml页面?

来自分类Dev

python中的Web抓取未加载数据

来自分类Dev

python web 抓取漂亮的汤并添加到列表中

来自分类Dev

Python Web抓取问题

来自分类Dev

Python Web抓取失败

来自分类Dev

在Python中使用Selenium Web抓取JavaScript呈现的内容

来自分类Dev

无法获取Python Web抓取中的文章链接

来自分类Dev

使用python进行Web抓取时发生错误

来自分类Dev

Selenium Python中的Web抓取

来自分类Dev

Web在python中抓取text()

来自分类Dev

Python Web 抓取重定向到其他页面的页面

来自分类Dev

Python Web抓取数组,但首先要转到默认页面

来自分类Dev

使用Python和Beautiful汤进行Web抓取:错误“'页面'未定义”

来自分类Dev

Web使用python从同一网站上抓取页面列表

来自分类Dev

Web似乎是通过Python在Javascript中嵌入的区块链数据抓取,这是否是正确的方法?

来自分类Dev

尝试使用BS4从Trustpilot Web抓取日期时收到以下JSON错误-Python

来自分类Dev

在python中使用Selenium进行Web抓取,单击按钮时遇到麻烦

来自分类Dev

Python Web抓取,如何使用Requests-HTML库单击“下一步”

来自分类Dev

如何使用BeautifulSoup4使用Python修复Web抓取中的错误

来自分类Dev

Excel中的Python Web抓取:如何为每100行增加睡眠

来自分类Dev

如何在Python Web抓取中找到每个文本的字体和颜色?

来自分类Dev

Python Web抓取请求遵循重定向

来自分类Dev

Web抓取中的空CSV-Python

来自分类Dev

涉及HTML标签的Python Web抓取

来自分类Dev

Python:输入信息后从Web抓取数据

来自分类Dev

BeautifulSoup Python Web抓取缺少的HTML主体

来自分类Dev

使用Python,BeautifulSoup进行Web抓取

Related 相关文章

  1. 1

    Python Web抓取页面循环

  2. 2

    动态加载页面的python web抓取

  3. 3

    Web在python中抓取xml页面?

  4. 4

    python中的Web抓取未加载数据

  5. 5

    python web 抓取漂亮的汤并添加到列表中

  6. 6

    Python Web抓取问题

  7. 7

    Python Web抓取失败

  8. 8

    在Python中使用Selenium Web抓取JavaScript呈现的内容

  9. 9

    无法获取Python Web抓取中的文章链接

  10. 10

    使用python进行Web抓取时发生错误

  11. 11

    Selenium Python中的Web抓取

  12. 12

    Web在python中抓取text()

  13. 13

    Python Web 抓取重定向到其他页面的页面

  14. 14

    Python Web抓取数组,但首先要转到默认页面

  15. 15

    使用Python和Beautiful汤进行Web抓取:错误“'页面'未定义”

  16. 16

    Web使用python从同一网站上抓取页面列表

  17. 17

    Web似乎是通过Python在Javascript中嵌入的区块链数据抓取,这是否是正确的方法?

  18. 18

    尝试使用BS4从Trustpilot Web抓取日期时收到以下JSON错误-Python

  19. 19

    在python中使用Selenium进行Web抓取,单击按钮时遇到麻烦

  20. 20

    Python Web抓取,如何使用Requests-HTML库单击“下一步”

  21. 21

    如何使用BeautifulSoup4使用Python修复Web抓取中的错误

  22. 22

    Excel中的Python Web抓取:如何为每100行增加睡眠

  23. 23

    如何在Python Web抓取中找到每个文本的字体和颜色?

  24. 24

    Python Web抓取请求遵循重定向

  25. 25

    Web抓取中的空CSV-Python

  26. 26

    涉及HTML标签的Python Web抓取

  27. 27

    Python:输入信息后从Web抓取数据

  28. 28

    BeautifulSoup Python Web抓取缺少的HTML主体

  29. 29

    使用Python,BeautifulSoup进行Web抓取

热门标签

归档