获取百度搜索结果的真实url以及摘要和时间
利用requests库和bs4实现,demo如下:
#coding:utf-
import requests
from bs4 import BeautifulSoup
import bs4
import re
headers = {
'User-Agent':'Chrome/68.0.3440.106'
} def getHTMLText(url):
try:
r=requests.get(url,headers=headers)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return ''
'''
def getHref(html):
soup=BeautifulSoup(html,'lxml')
for node in soup.find_all()
'''
def bdurlCode(url):
res = requests.get(url, allow_redirects=False)
Real_url = res.headers['location']
return Real_url def fillList(ulist,html):
soup=BeautifulSoup(html,'lxml')
for node in soup.find_all('div', {'class': 'result c-container '}):
abstract_node = node.find('div',{'class':'c-abstract'})
cite_node = node.find('a', {'class': 'c-showurl'})
time_node=node.find('span',{'class':' newTimeFactor_before_abs m'})
if not time_node:continue
url=cite_node['href']
url=bdurlCode(url)
abstract=abstract_node.text
time=time_node.text
ulist.append([url,time,abstract])
print(ulist)
print(len(ulist)) uinfo=[]
url="https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E6%98%8E%E7%95%A5%E6%95%B0%E6%8D%AECTO&oq=%25E6%2598%258E%25E7%2595%25A5%25E6%2595%25B0%25E6%258D%25AE&rsv_pq=9429009d00000f0c&rsv_t=0278viP4h51Y2xMneo8a0HfaOkqnhW8wmti1KAz4ddKuKCUjeKDsh9yB1YM&rqlang=cn&rsv_enter=1&inputT=894&rsv_sug3=17&rsv_sug1=9&rsv_sug7=100&rsv_sug2=0&rsv_sug4=1273&rsv_sug=1"
html=getHTMLText(url)
fillList(uinfo,html)
获取百度搜索结果的真实url以及摘要和时间的更多相关文章
- 用Head方法获得百度搜索结果的真实地址
用Head方法获得百度搜索结果的真实地址 在百度中搜索"Java",第一条结果的链接为: https://www.baidu.com/link?url=HBOOMbhPKH4SfI ...
- 获取搜索结果的真实URL、描述、标题
1.场景 爬虫练手代码 2.代码 Python2: #!/usr/bin/python # -*- coding:utf-8 -*- import requests from lxml import ...
- python采集百度搜索结果带有特定URL的链接
#coding utf-8 import requests from bs4 import BeautifulSoup as bs import re from Queue import Queue ...
- js 获取百度搜索关键词的代码
有可能有时候我们会用到在百度搜什么关键词进来我们的网站的,所有我们又想拿到用户搜索的关键词. 这是我研究了半天所得出的办法.话不多说直接贴代码 <script> function quer ...
- 【Python学习笔记六】获取百度搜索结果以及百度返回“百度安全验证”问题解决
1.获取百度搜索结果页面主要是修改百度搜索url中的参数实现,例如查询的关键字为wd: 举例:https://www.baidu.com/s?wd=python",这样就可以查询到‘pyth ...
- jsonp模拟获取百度搜索相关词汇
随便写了个jsonp模拟百度搜索相关词汇的小demo,帮助新手理解jsonp的用法. <!DOCTYPE html><html lang="en">< ...
- Java 获取网络重定向文件的真实URL
其实Java 使用HttpURLConnection下载的的时候,会自动下载重定向后的文件,但是我们无法获知目标文件的真实文件名,文件类型,用下面的方法可以得到真实的URL,下面是一个YOUKU视频的 ...
- 解析百度搜索结果链接的url,获取真正的url
通常,在百度输入关键词搜索出现的列表页,点击目标链接,然而跳转的时候却是百度地址,经过百度解析,才真的跳到目标页面. 在SEO中,经常需要看下自己的网站排名,又不想手动每天手动去点,可用以下方法去得到 ...
- PHP 批量获取 百度搜索结果 网址列表
<?php set_time_limit(0); function curl($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $u ...
随机推荐
- Python爬虫之编写一个可复用的下载模块
看用python写网络爬虫第一课之编写可复用的下载模块的视频,发现和<用Python写网络爬虫>一书很像,写了点笔记: #-*-coding:utf-8-*- import urllib2 ...
- CC++中sizeof函数的用法
C/C++中sizeof()函数的用法 学习C/C++有时会遇到下面的情况: 已知 char *str1="absde"; char str2[]="absde" ...
- vue中的懒加载和按需加载
懒加载 (1)定义:懒加载也叫延迟加载,即在需要的时候进行加载,随用随载. (2)异步加载的三种表示方法: 1. resolve => require([URL], resolve),支持性好 ...
- 【转】浅谈Java中的equals和==
浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: String str1 = new String("hello"); String str2 = ...
- CentOS6.8部署MongoDB集群及支持auth认证
三个节点的副本集如下图所示: 实验目的: 配置MongoDB的3节点副本集 3个节点的副本集都要开启auth认证,并且开启认证后,能互相通信 第一步 - 准备环境 准备三个虚拟机,其中一个用作Prim ...
- python中lxml的应用
首先下载lxml, http://www.lfd.uci.edu/~gohlke/pythonlibs/ ,然后添加引用 from lxml import _elementpath as DONTUS ...
- java List 等份截取
/** * 描述: 等份截取 * @author eyesmooon * @param list * @param size * @return * @date:2018年11月8日 下午8:00:3 ...
- CentOS7安装wget 及配置
yum -y install wget yum -y install setup yum -y install perl
- 蓝桥杯 算法训练 ALGO-129 特殊的数字四十
算法训练 特殊的数字四十 时间限制:1.0s 内存限制:256.0MB 特殊的数字四十 问题描述 1234是一个非常特殊的四位数,因为它的各位数之和为10,编程求所有这样的四位十进制数. 输出 ...
- JavaScript,Dom,jQuery
JavaScript JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript 语言的规则编写相应代码,浏览器可以解释出相应的处理. 注 ...