2016-08-09 6 views
0

Я хочу получить данные для Продукта, которые являются поиском пользователя в python. Я могу получать данные из любых URL-адресов, но в зависимости от поиска. Перейти на эту страницу и Получить данные с помощью beautifulsoup.Как перейти на конкретную страницу usinig Beautifulsoup

Пытаюсь это для получения данных:

from bs4 import BeautifulSoup 
import requests 
import urllib2 

url="http://amazon.in" 
con=urllib2.urlopen(url).read()  
soup=BeautifulSoup(con) 
print soup.prettify() 

Но если пользователь хочет цену IPhone 5s, то он будет прыгать на этой странице и получить данные.

Как я это понимаю.

ответ

0

Вам просто нужно сделать запрос GET проходящий правильный Params:

import requests 
from bs4 import BeautifulSoup 

params = {"url":"search-alias=aps","field-keywords":"iphone 5"} 
url = "http://www.amazon.in/s/ref=nb_sb_noss_2" 


soup = BeautifulSoup(requests.get(url, params=params).content) 
ul = soup.select_one("#s-results-list-atf") 

уль будут содержать все результаты поиска, которые Вы видите на этой странице. Если мы запустим код и найдем теги h2 внутри каждого якоря, вы увидите имя/описание элемента, как вы видите на странице.

In [6]: ul = soup.select_one("#s-results-list-atf") 

In [7]: for h2 in ul.select("li a h2"): 
    ...:   print(h2.text) 
    ...:  
Apple iPhone 5s (Space Grey, 16GB) 
Apple iPhone 5s (Silver, 16GB) 
Supra Lightning 8 Pin To Micro Usb Charge Sync Data Connector Adapter Iphone 5 Ipad 4 
OnePlus 3 (Graphite, 64GB) 
Apple iPhone 5 (Black-Slate, 16GB) 
ROCK 695029068729 Royce Series Shockproof Dual Layer Back Case Cover for Apple iPhone 5 5S,(Grey) 
Apple iPhone 5c (White, 8GB) 
iSAVE Soft Silicone Grid Design Back Case Cover For iPhone 5/5s (BLACK) 
iPaky AT15312 360 Protective Body Case with Tempered Glass for Apple iPhone SE 5 5S,(Black) 
Aeoss 9Pcs Open Pry Screwdriver Repair Tool Kit Set For iPhone 6 Plus 5 5s 5c 4 iPod. 
2 IN 1 Tempered Glass for Iphone 5 5s 5c Explosion Proof Tempered Glass (FRONT AND BACK) 
Itab iphone5sclearsoftgelly Imported Transparent Clear Silicone Jelly Soft Case Back Cover For Apple Iphone 5 5S 
Shivam Earphones EarPods Handsfree Headphones for Apple iPhone 4/4s/5/5s/6/6+ (White) 
USB Power Adapter Wall Charger&Data Cable for iPhone 5/5S/5C/6 
Generic Ios 7 Compatible Data Sync Charging Cable For Apple Iphone 5 5S 6 - White 
Tempered Glass Screen Protector Scratch Guard for Apple Iphone 5 5G 5s 
+0

уль = soup.select_one ("# s-результаты-список-АТФ") для h2 в ul.select ("Ли Н2"): печати (h2.text) не работает и его show list object не имеет метода выбора somthing вроде этого –

+0

Вы не используете мой код, если это ошибка, которую вы видите, * select * is not * select_one *, поэтому вы смешали их где-то –

+0

как бы я мог получить этот поисковый url like amazon = http://www.amazon.in/s/ref=nb_sb_noss_2 если я хочу для flipkart Тогда как я его получу? –

Смежные вопросы