系统:macOS 10.15.6 Catalina Python 版本 3.6.2 Selenium 采用Safari浏览器(Mac上懒得用Chrome,但是推荐试一试Chrome)
使用Jupyter Notebook + Selenium 爬虫爬取东方财富网具体数据的时候出现问题:
import urllib
from urllib.parse import quote
import urllib.parse as parse
company = '阿里'
url = 'http://so.eastmoney.com/news/s?keyword=' + company
print(url)
new_headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15',
}
browser = webdriver.Safari()
browser.get(url)
time.sleep(1)
data = browser.page_source
print(data)
browser.quit()
最后出现报错: InvalidArgumentException: Message: Could not parse requested URL ‘http://so.eastmoney.com/news/s?keyword=阿里’ 新产生的Selenium界面无法显示,如下:
查询可知问题可能是因为selenium 无法解析中文产生的。
于是先对url进行处理。 加入代码
company = quote(company)
注意??一定要先引入urllib包
参考链接:这里
|