【发布时间】:2017-07-06 19:27:01
【问题描述】:
我正在尝试使用 Beautiful Soup 4 和 URLLIB 作为个人项目来抓取 Stack Overflow 工作页面。我正面临一个问题,我试图抓取每页上列出的 50 个工作的所有链接。我正在使用正则表达式来识别这些链接。即使我正确引用了标签,我也面临这两个具体问题:
我的输出不是 50 个链接在源代码中清晰可见,而是每次只得到 25 个结果(在考虑删除初始不相关链接之后)
源代码中链接的排序方式与我的输出不同。
这是我的代码。对此的任何帮助将不胜感激:
import bs4
import urllib.request
import re
#Obtaining source code to parse
sauce = urllib.request.urlopen('https://stackoverflow.com/jobs?med=site-ui&ref=jobs-tab&sort=p&pg=0').read()
soup = bs4.BeautifulSoup(sauce, 'html.parser')
snippet = soup.find_all("script",type="application/ld+json")
strsnippet = str(snippet)
print(strsnippet)
joburls = re.findall('https://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', strsnippet)
print("Urls: ",joburls)
print(len(joburls))
【问题讨论】:
标签: python-3.x web-scraping beautifulsoup urllib