首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python抓取多个评论页面?

如何使用Python抓取多个评论页面?
EN

Stack Overflow用户
提问于 2020-01-25 17:59:42
回答 1查看 46关注 0票数 2

我有一个关于网络爬虫的问题。我想得到几个使用Python的评论页面。

这是我的网络爬虫代码。

代码语言:javascript
复制
URL = 'https://www.example.co.kr/users/sign_in'

user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'
headers = {'Content-type': 'application/json', 'Accept': 'text/plain', 'User-Agent':user_agent}
login_data = {'user':{'email':'id', 'password':'password', 'remember_me':'true'}}

client = requests.session()
login_response = client.post(URL, json = login_data, headers = headers)
print(login_response.content.decode('utf-8'))

jre = 'https://www.example.co.kr/companies/reviews/ent?page=1'
index = client.get(jre)
html = index.content.decode('utf-8')
print(html)

这段代码只获取page=1,但我想获取page=1、page=2、page3……使用格式化方法。我怎样才能做到这一点呢?

EN

回答 1

Stack Overflow用户

发布于 2020-01-25 18:19:12

您应该在每个页面上使用while o a for循环,这取决于您的需要。尝试下面这样的模式:

代码语言:javascript
复制
page = 1
while page <= MAX_PAGE or not REACHED_STOPPING_CONDITION:

  # Compose page url
  jre = f'https://www.example.co.kr/companies/reviews/ent?page={page}'
  # Get page url
  index = client.get(jre)

  # Do stuff...

  # Increment page counter
  page += 1

我认为一旦你访问了网站,你就没有必要再次登录了。如果需要的话,你应该在循环中插入登录部分。

导航网站页面的另一种方法是在文档中找到一种“下一页”或“上一页”引用,然后与它们交互:

代码语言:javascript
复制
# Compose page url
jre = 'https://www.example.co.kr/companies/reviews/ent?page=1'
# Get page
index = client.get(jre)

while page <= MAX_PAGE or not REACHED_STOPPING_CONDITION:

  # Do stuff...

  # Search next page element (ex. by CSS selector)
  jre.find_element_by_css_selector('next-page').click()
  # Increment page counter
  page += 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59908197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档