gx921015 发表于 2020-4-10 16:02:19

关于网页爬取,获取内容和网页审查元素不一样

https://www-engineeringvillage-com.libezproxy.umac.mo/search/doc/abstract.url?&pageType=quickSearch&searchtype=Quick&SEARCHID=c78485ec1d824e5b9ff99dbb1942da23&DOCINDEX=2&database=1&format=quickSearchAbstractFormat&dedupResultCount=null&usageOrigin=recordpage&usageZone=nextrecord
在这个地址中,用浏览器审查元素可以看到<a href="mailto:ysun58@iphy.ac.cn" title="Sun, Yong Hao email" aria-label="Sun, Yong Hao email" class="emaillink"><span class="ss-mail"></span></a>这段内容,我想吧整个网页抓取下来筛选出里面的邮箱。
可是我用    req = urllib.request.Request('url')
               req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36')
               respunse = urllib.request.urlopen('url')
               html = respunse.read().decode('utf-8')
               print(html)
打印出来的代码里没有我想要的那一段内容。而在网页中这个邮箱是一个类似链接的信封按钮,要右键复制邮箱地址才能获取内容。我想知道python能不能实现爬取这个网站的邮箱。大致的方法是怎么样的。
谢谢大佬。

疾风怪盗 发表于 2020-4-10 16:53:05

点开链接是个登陆界面,你应该是已经登陆了再检查元素的吧
你要<a href="mailto:ysun58@iphy.ac.cn"这个链接?
建议看一下BeautifulSoup的使用方法,这个就是href属性,很容易就抓取下来了

wp231957 发表于 2020-4-10 16:57:43

两点:
1,审查元素不等于可爬
2,涉及到登录的最好使用无头浏览器爬

zltzlt 发表于 2020-4-10 17:32:56

审查元素中看到的代码有时并不等于网站的源代码

suchocolate 发表于 2020-4-10 18:37:07

respunse = urllib.request.urlopen(req)

wuqramy 发表于 2020-4-10 20:18:46

用xpath "//a/@href".getall() 把所有链接搞下来成列表
然后轮询找带@的就可以了
页: [1]
查看完整版本: 关于网页爬取,获取内容和网页审查元素不一样