【问题标题】:Web scraping with python in javascript dynamic website在javascript动态网站中使用python进行网页抓取
【发布时间】:2021-11-29 23:30:22
【问题描述】:

我需要刮掉这个网站上的所有文章、文章标题和段落:https://portaljuridic.gencat.cat/eli/es-ct/l/2014/12/29/19

问题是我尝试了一些 div、h3 或 p 没有任何反应 add image

from bs4 import BeautifulSoup
import lxml
import pandas as pd
from tqdm import tqdm_notebook


def parse_url(url):
    response = requests.get(url)
    content = response.content
    parsed_response = BeautifulSoup(content, "lxml")
    return parsed_response


url = "https://portaljuridic.gencat.cat/eli/es-ct/l/2014/12/29/19"

soup = parse_url(url)


article = soup.find("div", {"class":"article-document"})

article

好像是一个带有javascript的网站,但我不知道如何获取它。

【问题讨论】:

    标签: javascript python web-scraping


    【解决方案1】:

    网站执行 3 次 API 调用以获取数据。
    下面的代码做同样的事情并获取数据。

    (在浏览器中执行 F12 -> Network -> XHR 并查看 API 调用)

    import requests
    
    payload1 = {'language':'ca','documentId':680124}
    r1 = requests.post('https://portaldogc.gencat.cat/eadop-rest/api/pjc/getListTraceabilityStandard',data = payload1)
    if r1.status_code == 200:
      print(r1.json())
    
    print('------------------')
    payload2 = {'documentId':680124,'orderBy':'DESC','language':'ca','traceability':'02'}
    r2 = requests.post('https://portaldogc.gencat.cat/eadop-rest/api/pjc/getListValidityByDocument',data = payload2)
    if r2.status_code == 200:
      print(r2.json())
    
    print('------------------')
    
    payload3 = {'documentId': 680124,'traceabilityStandard': '02','language': 'ca'}
    r3 = requests.post('https://portaldogc.gencat.cat/eadop-rest/api/pjc/documentPJC',data=payload3)
    if r3.status_code == 200:
      print(r3.json())
    

    【讨论】:

    • 嗨 balderman,感谢您的帮助和解释。我可以再提一个问题吗,对不起,我对这个真的很陌生。文本的某些部分具有特殊字符,例如 ' 或 `,并且在提取中出现 &,如何将其更改为特定字符?再次感谢您的支持。
    • 我不确定我是否理解这个问题。你能举个具体的例子吗?
    • 嗨 Balderman 例如,当提取 'text' 中的第一篇文章时:'

      \n\t1。 文本以 开头Aquesta llei té per objecte 但在网页上显示 1. Aquesta llei té per objecte: 我怎样才能改变这个以查看 Aquesta llei té per objecte: 而不是 Aquesta llei té每个对象。感谢您的支持。

    • 嗯...我不知道。对不起。
    • 嗨 balderman Oks,好吧,我会看看我找到的东西 真的感谢您的帮助和支持!
    猜你喜欢
    • 1970-01-01
    • 2015-02-27
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 2019-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多