Python网络抓取URL拆分

时间:2019-07-01 12:33:32

标签: python url split screen-scraping

我喜欢分裂 这个网址:

https://ordbok.uib.no/perl/ordbok.cgi?startpos=1&ant_bokmaal=100&ant_nynorsk=5&antall_vise=1&OPP=+n1&ordbok=bokmaal&bokmaal=%2B&spraak=bokmaal

应该是:

tradelogic.cpython-35m-darwin.so

https://ordbok.uib.no/perl/ordbok.cgi?startpos=1&ant_bokmaal=

因为我喜欢将数字&ant_nynorsk=5&antall_vise=1&OPP=+n1&ordbok=bokmaal&bokmaal=%2B&spraak=bokmaal 更改为下一页。

我如何在两者之间添加一个变量?

3 个答案:

答案 0 :(得分:0)

如果只是这种非常特定的替换,则可以使用字符串替换功能。

s="https://ordbok.uib.no/perl/ordbok.cgi?startpos=1&ant_bokmaal=100&ant_nynorsk=5&antall_vise=1&OPP=+n1&ordbok=bokmaal&bokmaal=%2B&spraak=bokmaal"

替换

s.replace("ant_bokmaal=100", "ant_bokmaal=111")

结果

https://ordbok.uib.no/perl/ordbok.cgi?startpos=1&ant_bokmaal=111&ant_nynorsk=5&antall_vise=1&OPP=+n1&ordbok=bokmaal&bokmaal=%2B&spraak=bokmaal'

您会看到ant_bokmall更改为111。

答案 1 :(得分:0)

使用format()在其中传递变量。

def url(index):
 url="https://ordbok.uib.no/perl/ordbok.cgi?startpos=1&ant_bokmaal={}&ant_nynorsk=5&antall_vise=1&OPP=+n1&ordbok=bokmaal&bokmaal=%2B&spraak=bokmaal".format(index)
 print(url)

答案 2 :(得分:0)

我建议使用re,它更快,更准确:

>>> url = "https://ordbok.uib.no/perl/ordbok.cgi?startpos=1&ant_bokmaal=100&ant_nynorsk=5&antall_vise=1&OPP=+n1&ordbok=bokmaal&bokmaal=%2B&spraak=bokmaal"
>>> re.sub(r'(?<=ant\_bokmaal\=)\d+', str(999), url)
'https://ordbok.uib.no/perl/ordbok.cgi?startpos=1&ant_bokmaal=999&ant_nynorsk=5&antall_vise=1&OPP=+n1&ordbok=bokmaal&bokmaal=%2B&spraak=bokmaal'