python中的webscraping、regex和迭代

2024-10-04 03:20:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下url'http://www.alriyadh.com/file/278?&page=1' 我想写一个regex来访问从page=2到page=12的url

例如,这个url需要“http://www.alriyadh.com/file/278?&page=4”,而不是page=14

我想可以用一个函数来迭代指定的10个页面来访问其中的所有url。我试过这个正则表达式,但不起作用 '.*?=[2-9]'

我的目标是使用报纸包从这些网址获取内容。我只想为我的研究提供这些数据

提前谢谢


Tags: 数据函数comhttpurl内容目标www
2条回答

这里有一个正则表达式来访问适当的范围(即2-12):

([2-9]| 1[012])

从你现在的情况来看,我不确定你的正则表达式是否会如你所愿。也许我完全误解了您的regex,但是'?='打算做一个展望? 或者你真的在找一个'?'紧接着是“=”,紧接着是任何数字2-9? 您对regex的熟悉程度如何?这一个似乎是危险的模糊找到一个有意义的匹配。在

不需要正则表达式,一个简单的预置循环就可以了。在

import requests
from bs4 import BeautifulSoup as bs

url = 'http://www.alriyadh.com/file/278?&page='

for page in range(2,13):
    html = requests.get(url+str(page)).text
    soup = bs(html)

相关问题 更多 >