爬取view-source:https://baike.baidu.com/item/%E5%8E%86%E5%B1%8A%E4%BA%9A%E6%B4%B2%E8%BF%90%E5%8A%A8%E4%BC%9A%E5%A5%96%E7%89%8C%E6%A6%9C/9526262?fr=aladdin中的表格
时间: 2023-08-10 16:03:59 浏览: 557
要爬取 `view-source:https://baike.baidu.com/item/%E5%8E%86%E5%B1%8A%E4%BA%9A%E6%B4%B2%E8%BF%90%E5%8A%A8%E4%BC%9A%E5%A5%96%E7%89%8C%E6%A6%9C/9526262?fr=aladdin` 中的表格,可以使用 Python 的爬虫库(如BeautifulSoup、Scrapy)来实现。然而,需要注意的是,直接爬取 `view-source` 链接并不会获取到实际网页的内容,而是获取到了网页的源代码。
下面是一个使用 BeautifulSoup 库的示例,演示如何从源代码中提取表格数据:
```python
import requests
from bs4 import BeautifulSoup
# 发起请求获取页面源代码
url = "https://baike.baidu.com/item/%E5%8E%86%E5%B1%8A%E4%BA%9A%E6%B4%B2%E8%BF%90%E5%8A%A8%E4%BC%9A%E5%A5%96%E7%89%8C%E6%A6%9C/9526262?fr=aladdin"
response = requests.get(url)
html_content = response.text
# 使用 BeautifulSoup 解析源代码
soup = BeautifulSoup(html_content, 'html.parser')
# 找到表格元素
table = soup.find('table')
# 打印表格内容
for row in table.find_all('tr'):
cols = row.find_all('td')
if cols:
for col in cols:
print(col.get_text().strip(), end='\t')
print()
```
在这个示例中,我们首先使用 requests 库发送 HTTP 请求获取网页的源代码,然后使用 BeautifulSoup 解析源代码。接着使用 `find` 方法找到表格元素,再使用 `find_all` 方法找到所有的表格行,并在每行中使用 `find_all` 方法找到所有的表格单元格。最后,我们打印每个单元格的文本内容。
请注意,该示例假设目标网页中只有一个表格,如果有多个表格或其他结构,请根据实际情况进行相应的调整。另外,需要注意的是,爬取网页内容时需要遵守网站的爬取规则,并确保你的爬取行为合法和合理。
阅读全文
相关推荐
; 提取查询结果中的表格内容
FileDelete, result.txt
Loop, %TotalPage%
{
MatchItemNum := 0
Loop, Read, Html\%A_Index%.html, result.txt
{
; 抽取表格字段
If (A_LoopReadLine ~= "i)[^<]+]+class=""calc""")
{
MatchItemNum++
Field := RegExReplace(A_LoopReadLine,"i)^[^>]+>()?([^<]+)<.+","$2$3")
StringReplace, Field, Field, , , All
; 表格中的字段每5个组成一条记录
ModNum := Mod(MatchItemNum,5)
If (ModNum = 1)
FileAppend, % "n" Field "t"
else
{
If (ModNum <> 0)
FileAppend, % Field "t"
else
FileAppend, % "http://gis2.sinica.edu.tw/place/" SubStr(Field,1,-4)
}
}
}
}
MsgBox, 整理完毕