python爬虫面试题及答案2020
姓名:____________________
一、选择题(每题2分,共20分)
1.Python中,以下哪个模块用于处理网络请求?
A.urllib
B.requests
C.socket
D.http
2.以下哪个方法用于向网页发送POST请求?
A.requests.get()
B.requests.post()
C.requests.put()
D.requests.delete()
3.以下哪个方法可以获取网页的源代码?
A.response.text
B.response.json()
C.response.url
D.response.headers
4.在使用XPath解析HTML时,以下哪个符号用于表示“或”?
A.|
B.
C.
D.||
5.以下哪个方法可以获取当前页面的所有超链接?
A.response.xpath(//a)
B.response.xpath(//a/text())
C.response.xpath(//a/@href)
D.response.xpath(//a/@class)
6.以下哪个方法可以模拟登录操作?
A.response.post()
B.response.login()
C.response.session.post()
D.response.session.login()
7.以下哪个方法可以设置请求头中的User-Agent?
A.response.headers[User-Agent]=Mozilla/5.0
B.response.headers.add(User-Agent,Mozilla/5.0)
C.response.add_header(User-Agent,Mozilla/5.0)
D.response.set_header(User-Agent,Mozilla/5.0)
8.以下哪个方法可以设置请求头中的Referer?
A.response.headers[Referer]=
B.response.headers.add(Referer,)
C.response.add_header(Referer,)
D.response.set_header(Referer,)
9.以下哪个方法可以设置请求头中的Cookie?
A.response.cookies[name]=value
B.response.cookies.add(name,value)
C.response.add_cookie(name,value)
D.response.set_cookie(name,value)
10.以下哪个方法可以获取当前会话中的Cookie?
A.response.cookies
B.response.session.cookies
C.response.headers[Cookie]
D.response.headers.get(Cookie)
二、填空题(每题2分,共10分)
1.在Python中,使用requests模块发送GET请求时,可以使用________方法获取响应内容。
2.在Python中,使用requests模块发送POST请求时,可以使用________方法获取响应内容。
3.在Python中,使用XPath解析HTML时,可以使用________方法获取标签的属性。
4.在Python中,使用requests模块模拟登录操作时,可以使用________方法获取登录后的会话。
5.在Python中,使用requests模块设置请求头中的User-Agent时,可以使用________方法。
三、简答题(每题5分,共15分)
1.简述Python爬虫的基本流程。
2.简述使用requests模块发送POST请求时,需要传递哪些参数。
3.简述使用XPath解析HTML时,如何获取标签的属性。
四、编程题(每题10分,共20分)
1.编写一个Python脚本,使用requests模块爬取/的网页内容,并打印出页面中的所有链接。
```python
importrequests
url=/
response=requests.get(url)
links=response.xpath(//a/@href)
forlinkinlinks:
print(link.get())
```
2.编写一个Python脚本,使用BeautifulSoup解析HTML,获取/page.html页面中所有包含特定类名的元素。
```python
frombs4