Перебор страниц и сканера HTML таблиц в Python - PullRequest
0 голосов
/ 23 января 2020

Я пытаюсь отсканировать таблицы по этой ссылке , у меня есть позиция содержимого таблицы с помощью F12 inspect .

enter image description here

Я использовал следующий код, но я получил None результат, кто-то может помочь? Спасибо.

import requests
import json
import pandas as pd
import numpy as np
from bs4 import BeautifulSoup

url = 'http://bjjs.zjw.beijing.gov.cn/eportal/ui?pageId=308894'

website_url = requests.get(url).text
soup = BeautifulSoup(website_url, 'lxml')
table = soup.find('table', {'class': 'gridview'})
#table = soup.find('table', {'class': 'criteria'})

print(table)

Пожалуйста, также проверьте эту ссылку , на самом деле, я хочу сделать подобные вещи здесь, но веб-структура кажется другой.

Обновлено : следующий код работает для одной страницы, но мне нужно также l oop других страниц.

Вывод:

   序号  ...      竣工备案日期
0   1  ...  2020-01-22
1   2  ...  2020-01-22
2   3  ...  2020-01-22
3   4  ...  2020-01-22
4   5  ...  2020-01-22

[5 rows x 9 columns]

Ссылка связана:

https://medium.com/analytics-vidhya/web-scraping-wiki-tables-using-beautifulsoup-and-python-6b9ea26d8722

1 Ответ

1 голос
/ 23 января 2020

Вы можете получить элементы в <tr>... </tr> тегах, таких как:

table = soup.find_all('table', {'class': 'gridview'})

for elements in table:
    inner_elements = elements.findAll('tr')[1:]

    for text_for_elements in inner_elements:
        print(text_for_elements.text)

ВЫХОД:

1
朝阳区东三环北路38号院4号楼3层301室内局部装修工程
威沃克办公服务(北京)有限公司
袁永懿
上海东园建筑装饰有限公司
陈振华
0065朝竣2020(装)0053号
北京市朝阳区住房和城乡建设委员会
2020-01-22
2
北京市朝阳区新源南路3号14层04单元A1704室内装修工程
重庆金融资产交易所有限责任公司
罗珊珊
深圳安星建设集团有限公司
张惠富
0066朝竣2020(装)0054号
北京市朝阳区住房和城乡建设委员会
2020-01-22
......
...