网页数据抓取与缓存策略
1. 不同抓取方法的性能比较
为了评估不同网页抓取方法的相对效率,我们将实现扩展版本的抓取器,以提取国家网页上的所有可用数据。首先,通过浏览器的检查功能,我们发现每个表格行的 ID 以 places_ 开头,以 __row 结尾,国家数据就包含在这些行中。以下是使用不同方法提取所有可用国家数据的实现代码:
FIELDS = ('area', 'population', 'iso', 'country', 'capital', 'continent',
'tld', 'currency_code', 'currency_name', 'phone', 'postal_code_format',
'postal_code_regex', 'languages', 'neighbours')
import re
def re_scraper(html):
results = {}
for field in FIELDS:
results[field] = re.search('<tr id="places_%s__row">.*?<td class="w2p_fw">(.*?)</td>' % field, html).groups()[0]
return results
from bs4 import BeautifulSoup
def bs_scraper(html):
soup = BeautifulSoup(html, 'html.
超级会员免费看
订阅专栏 解锁全文
1606

被折叠的 条评论
为什么被折叠?



