访问小部件 window beautifulsoup python 机械化

Access widget window beautifulsoup python mechanize

我正在尝试从这样的网站上抓取信息:

https://www.glassdoor.com/Overview/Working-at-7-Eleven-EI_IE3581.11,19.htm

使用 python + beautifulsoup + 机械化。

访问主站点上的任何内容都没有问题。但是,我还需要出现在叠加层中的信息 - window 当单击带有星号的栏旁边的 "Rating Trends" 按钮时出现。

这个overlay-window也可以直接使用url访问:

https://www.glassdoor.com/Reviews/7-Eleven-Reviews-E3581.htm#trends-overallRating

与此页面关联的 html 是对原始站点 html 的修改。

但是,无论我尝试(通过 findAll )在该叠加层-window 网站上查找什么元素,beautifulsoup returns 都是零命中。

我该如何解决这个问题?我尝试在访问网站和阅读任何内容之间添加一个睡眠时间,但无济于事。

谢谢!

如果您使用的是 Chrome 浏览器 select 该页面的背景(不显示其他信息)和 select 'Inspect' 上下文菜单 (对于 Windows 无论如何),然后是 'Network' 选项卡,这样您就可以看到网络流量。现在点击 'Rating trends'。标记为 'xhr' 的条目将是 https://www.glassdoor.ca/api/employer/3581-rating.htm?locationStr=&jobTitleStr=&filterCurrentEmployee=false&filterEmploymentStatus=REGULAR&filterEmploymentStatus=PART_TIME(我非常希望!),其内容如下。

{"employerId":3581,"ratings":[{"hasRating":true,"type":"overallRating","value":2.9},{"hasRating":true,"type":"ceoRating","value":0.54},{"hasRating":true,"type":"bizOutlook","value":0.35},{"hasRating":true,"type":"recommend","value":0.4},{"hasRating":true,"type":"compAndBenefits","value":2.4},{"hasRating":true,"type":"cultureAndValues","value":2.5},{"hasRating":true,"type":"careerOpportunities","value":2.5},{"hasRating":true,"type":"workLife","value":2.4},{"hasRating":true,"type":"seniorManagement","value":2.3}],"week":0,"year":0}

是否可以更改此 URL 以用于为其他雇主获取信息,很抱歉,我不能告诉你。